标签:列表 面向对象 *args agg python 执行 das weakref %s
python中一切皆对象
如 字典——类 {‘k’:‘v‘} ——对象
列表 —— 类 [1,2 ]—— 对象
自定义 类
class 类名:
属性 = ‘初始攻击力5’
print(类名.属性) 类名的作用,就是操作属性 查看属性
1 class Person: # 类名 2 country = ‘China‘ # 创造了一个只要是这个类就一定有的属性 3 # 类属性 静态属性 4 def __init__(self,*args): # 初始化方法 self是对象,是一个必须传的参数 5 # print(self.__dict__) # self 就是一个可以存储很多属性的大字典 6 self.name = args[0] # 往字典里添加属性的方式发生了一些变化 7 self.hp = args[1] 8 self.aggr = args[2] 9 self.sex = args[3] 10 # print(self.__dict__) 11 def walk(self,n): # 方法,一般情况下必须传self参数,且必须写在第一个 12 # 后面还可以传其他参数,这是自由的 13 print(‘%s走走走,走了%s步‘ %(self.name,n))
1 print(Person.country) # 类名可以查看类中的属性,不需要实例化就可以查看 2 alxe = Person(‘狗剩儿‘,100,1,‘不详‘) #类名还可以实例化 对象 # 实例化 3 print(alxe.__dict__) #对象通过__dict__方法可以查看所有属性 4 结果:{‘name‘: ‘狗剩儿‘, ‘hp‘: 100, ‘aggr‘: 1, ‘sex‘: ‘不详‘} 5 print(Person.__dict__) # 类名.__dict__ 查看这个类所拥有的方法 6 结果:{‘__module__‘: ‘__main__‘, ‘country‘: ‘China‘, 7 ‘__init__‘: <function Person.__init__ at 0x0000000001E686A8>, 8 ‘walk‘: <function Person.walk at 0x0000000001E68730>, 9 ‘__dict__‘: <attribute ‘__dict__‘ of ‘Person‘ objects>, 10 ‘__weakref__‘: <attribute ‘__weakref__‘ of ‘Person‘ objects>, ‘__doc__‘: None} 11 print(Person.__dict__[‘country‘]) 12 结果:China 13 alxe.walk(6) # Person.walk(alxe) # 调用方法 类名.方法名(对象名) 14 print(alxe.__dict__[‘name‘]) 15 结果:狗剩儿 16 alxe.__dict__[‘name‘] = ‘二哥‘ # 修改 alxe 的name属性 为二哥 17 print(alxe.__dict__) 18 结果:{‘name‘: ‘二哥‘, ‘hp‘: 100, ‘aggr‘: 1, ‘sex‘: ‘不详‘} 19 print(alxe.name) 20 结果:二哥 21 alxe.name = ‘二哥‘ # 也可以通过 对象.属性名 =‘‘ 直接对对象的属性赋值 22 print(alxe.name) 23 结果:二哥
对象 = 类名()
过程:
类名() 首先会创造出一个对象,创建了一个self变量
调用init方法,类名括号里的参数会被这里接收
执行init方法
返回self
对象能做的事:
1.查看属性
2.调用方法
3.__dict__对于对象的增删改查操作都可以通过字典的语法进行操作
类名能做的事:
1.实例化
2.调用方法,只不过要自己传递self参数
3.调用类中的属性,也就是调用静态属性
4.__dict__对于类中的名字只能看 不能操作
标签:列表 面向对象 *args agg python 执行 das weakref %s
原文地址:https://www.cnblogs.com/ys-python/p/10617862.html