定义一个类:
class 类名(大写开头): 属性 = ‘a’ 类名.属性 类名的作用:操作属性、查看属性
例:
class Tst: nationality = ‘中国‘ #静态属性,不能在类外边修改 def __init__(self,name,age,sex): self.name = name self.age = age self.sex = sex print(id(self))#self与t1的内存地址一样 def way(self):#方法,一般情况下必须传self参数,且必须写在第一个;后面还可以传其他参数,是自由的 pass t1 = Tst(‘aike‘,‘25‘,‘男‘) #所以t1接收的是self的内存地址 print(Tst.nationality) #查看静态属性 print(Tst.__dict__[‘nationality‘]) #同样可以使用双下dict方法查看静态属性值 # Tst.__dict__[‘nationality‘] = ‘美国‘ #报错,所以静态属性不能修改 print(t1) #返回的是一个内存地址,与self一样 print(id(t1)) #self与t1的内存地址一样 print(t1.name) #查看属性值 print(t1.__dict__) #通过双下dict方法能够查到里面的数据,内存地址与一致,所以数据也是一致 print(t1.__dict__[‘name‘]) #同样可以使用双下dict方法查看属性值 t1.__dict__[‘name‘] = ‘艾克‘ #使用双下dict方法可以修改属性值 print(t1.__dict__[‘name‘]) t1.way() #可以用对象直接调用方法,等同于Tst.way(t1),如果方法不止接收一个参数,在括号内部依次传入即可
过程: 类名() 首先 会创造出一个对象,创建了一个self变量 调用init方法,类名括号里的参数会被这里接收 执行init方法 返回self对象能做的事: 查看属性 调用方法 __dict__ 对于对象的增删改查操作都可以通过字典的语法进行类名能做的事: 实例化 调用方法 : 只不过要自己传递self参数 调用类中的属性,也就是调用静态属性 __dict__ 对于类中的名字只能看 不能操作
总结:
1、实例化的过程就是类——>对象的过程,创建的对象就是一个实例化的东西
2、self在实例化时自动将对象/实例本身传给__init__的第一个参数,你也可以给他起个别的名字,但是正常人都不会这么做。
3、对象通过双下dict方法能够查到这个对象的数据,内存地址与self一致,所以数据也是一致
4、静态属性可以在类的外面通过双下dict方法查看,但不能修改
5、对象调用方法的方式与平时不一样
原文地址:https://www.cnblogs.com/aizhinong/p/11440267.html
时间: 2024-10-16 03:26:09