成员:在类中写的内容。
有变量、方法、属性。
变量:
实例变量(字段) 用对象.方法 访问
类变量(静态变量) 在这个类中共有的。 用类名访问
如 我们定义的人这一类,默认我们的国家的是'中国',这个属性就可以用类变量。
class Person: # 类变量 wuxia = '金庸武侠' # name、age。。。实例变量 def __init__(self, name, age, hobby, ability): self.name = name self.age = age self.hobby = hobby self.ability = ability
方法:
成员方法(实例方法)
静态方法 不需要我们给⽅方法传递self. 也就是说. 当出现⼀个方法不需要使用到成员变量的时候. 就可以选择使⽤用静态方法
在方法上面加入@staticmethod
@staticmethod def diyir(): print('石破天')
类方法
类方法和静态方法差不多, 只不过类方法需要在参数列列表中的第一个位置预留一个位置,
通常我们给第一个参数起名字叫cls. 类方法在被调用的时候也不需要传递实例对象.
但是. 系统自动的把类传递给第⼀个参数. 类方法在编写的时候, 需要在类方法上面添加@classmethod
class Person: def wugong(self): return self.ability @staticmethod def diyir(): print('石破天') @classmethod def cal(cls, a, b): print(cls) return a+b
print(Person.cal(5,3))
运行结果
8
就相当于类里面的函数啦。
属性:
通过方法改造过来的一种变量的写法, 在方法上添加⼀一个@property就可以了
class Person: def __init__(self): pass @property def age(self): return 1 p = Person() age = p.age print(age)
私有:只能在自己类中访问,子类或者外面都无法访问到。
语法:在变量或者方法前面加入两个下划线__即可。
私有变量 直接访问不到的,但可以通过调用公有的方法来访问私有的内容。
私有方法