标签:sel oss print 自动 函数 code 直接 实例化 int
属性引用 :类名和属性
class Person: 定义一个人类
role = ‘person‘ 人的角色属性
def walk(self): 走路的一个方法
print(‘person is walking‘)
print(Person.role) 查看人的role属性
print(Person.walk) 引用人的走路方法 这里不是在调用
语法: 对象名 = 类名(参数)
egg = Person(‘egon‘) 类名()等于在执行Person.__init__()
执行完__init__()就会返回一个对象。这个对象类似一个字典,存着这个人本身的一些属性和方法
你只可以理解 egg ={‘name‘:‘egon‘,‘walk‘:walk}
print(egg.name) 查看属性的调用方法
print(egg.walk) 调用方法,对象名方法名
self 在实例化时自动将对象传给__inin__的第一个参数, 不能瞎改 否则别人不认识
人类除了可以走路之外 ,还应该具备一些攻击技能
class Person: 定义一个人类 role= ‘person‘ 人的角色属性是人 def __init__(self,name,age,life_value): self.name = name 每一个角色都有自己的昵称 self.age=age 每一个角色都有自己的攻击力 self.life_value =life_value 每一个角色都有自己的生命值 def attack(self,dog): 人攻击狗,狗也是一个对象 人攻击狗,狗的生命值会根据人的攻击力而下降 dog.life_value -= self.age
对象/实例只有一种作用: 属性引用
egg = Person(‘boss‘,10,1000) print(egg.name) print(gee.age) print(egg.value)
动态属性 引用 动态属性并不是执行这个方法,要想调用方法和调用函数是一样的都需要加括号
print(egg.attack)
了解类和对象
def Person(*args,**kwargs): self = {} def attack(self,dog): dog[‘life_value‘] -= self[‘aggreivity‘] def __init__(name,aggreivity,life_value): self[‘name‘] = name self[‘aggressivity‘]= life_value self[‘life_value‘] = attackk __init__(*args,**kwargs) return self egg = Person(‘egon‘,78,20) print(egg[‘name‘]
面向对象总结
class 类名
def __init__(self,参数1,参数2)
self..对象属性1 = 参数1
self.对象属性2= 参数2
def 方法名(self):pass
def 方法名(self):pass
对象名 = 类名(1,2) 对象就是实例,代表一个具体的东西
类名():类名+括号就是实例化一个类,相当于调用了__init__
括号里的参数,参数不需要传self, 其它与init中的形参一一对应
返回一个对象
对象名,对象的属性1 查看对象的属性,直接用对象名属性即可
对象名,方法名 调用类中的方法,直接用对象名,方法名即可
标签:sel oss print 自动 函数 code 直接 实例化 int
原文地址:http://www.cnblogs.com/tianjianng/p/7522765.html