面向对象中的所有成员如下:
2、类变量,属于类,可以被所有对象共享,一般用于给对象提供公共数据(类似于全局变量)。
方法
1、绑定方法,默认有一个self参数,由对象进行调用(此时self就等于调用方法的这个对象)【对象&类均可调用】
2、类方法,默认有一个cls参数,用类或对象都可以调用(此时cls就等于调用方法的这个类)【对象&类均可调用】
3、静态方法,无默认参数,用类和对象都可以调用。【对象&类均可调用】
class Foo(object):def __init__(self, name,age):self.name = nameself.age = agedef f1(self):print("绑定方法", self.name)@classmethoddef f2(cls):print("类方法", cls)@staticmethoddef f3():print("静态方法")# 绑定方法(对象)obj = Foo("武沛齐",20)obj.f1() # Foo.f1(obj)# 类方法Foo.f2() # cls就是当前调用这个方法的类。(类)obj.f2() # cls就是当前调用这个方法的对象的类。# 静态方法Foo.f3() # 类执行执行方法(类)obj.f3() # 对象执行执行方法
属性
属性其实是由绑定方法 + 特殊装饰器 组合创造出来的,让我们以后在调用方法时可以不加括号,例如:
class Foo(object):def __init__(self, name):self.name = namedef f1(self):return 123@propertydef f2(self):return 123obj = Foo("武沛齐")v1 = obj.f1()print(v1)v2 = obj.f2print(v2)
成员修饰符
Python中成员的修饰符就是指的是:公有、私有。
- 公有,在任何地方都可以调用这个成员。
- 私有,只有在类的内部才可以调用改成员(成员是以两个下划线开头,则表示该成员为私有)。
父类中的私有成员,子类无法继承。
