类中的成员
一.定义: 在类中定义的变量和方法都称作该类的成员
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