类中的成员 一.定义: 在类中定义的变量和方法都称作该类的成员 class Person: country = "china" def __init__(self,name,gender): self.name = name self.gender = gender def think(self): print("%s 在思考人生!" % self.name) # 上面定义的类Person中 country, self.name, self.gender, think 就是他的成员 # 其中think叫做成员方法,country 叫做类变量 其余叫做成员变量 # 二 变量的分类: # 1 成员变量: 类创建的实例的属性,存在实例本身的变量,实例创建后可以直接获取, 类不可以,未创建之前无法调用 class display: def __init__(self, size, xiangsu): self.size = size self.xiangsu = xiangsu 2,类变量: 类创建时定义好的共有属性,存储在类身上, 即使类没有创建新的实例,也可以调用 class dog: a = print("叫声:汪汪汪") print(dog.a) 三 方法分类 1, 成员方法: 需要传递实例才能调用类里面的方法 class stu: def __init__(self, name): self.name = name def read(self): print("%s 在读书" % self.name) xiaoming = stu("小明") xiaoming.read() 2, 类方法: 需要传递类名, 抬头@classmethod class stu: def __init__(self,name): self.name = name @classmethod def zhaosheng(cls,name): return stu(name) c = stu.zhaosheng("李刚") print(c) 3, 静态方法: 类中的方法不需要传递当前类的对象,也不传递类名, 抬头加@staticmethod class stu: @staticmethod def study(): print("学生的主要目的是学习知识! ") stu.study() 四 .实例需要适时更新的属性: class leaf: @property # 指定这个方法成为属性的标记 def color(self): # color方法中只能有一个参数self return "树叶都掉光了" # 必须要返回值 leaf1 = leaf() print(leaf1.color) 五 ,私有概念: 类,实例中私有的成员, 别人只能在自己的类中访问,不继承,他人不能访问 分类: __方法 class cat: def __getmouse(self): print("抓到老鼠准备吃") # __变量 class cat: def __init__(self,name): self.__name = name cat1 = cat("hellokity") # __类变量 class cat: __catchmouse = "抓老鼠" def __init__(self): pass