按类型
面向对象编程中属性有:成员属性、类属性、实例属性。
成员属性:在类的初始化方法中绑定的属性;
类属性:归所在类所有,但该类和该类的所有实例都可以访问到;
实例属性:在实例化对象时对当前对象增加的属性,只有该对象可以访问。
class Person:
'''
person类
'''
num = 20 # 类属性
def __init__(self, name, age):
'''
初始化
:param name: 姓名
:param age: 年龄
'''
self.name = name # 类属性,归Person类所有
self.age = age
def info(self):
'''
输出信息
:return:
'''
print("name:", self.name)
print("age:", self.age)
print("类属性num:", self.num)
person = Person('tom', 5)
person.sex = '男' # 定义实例属性
print('实例属性:', person.sex)
person.info()
按访问权限:
公有属性 (属于类,每个类一份)两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问;
普通属性 (属于对象,每个对象一份);
私有属性 (属于对象,跟普通属性相似,只是不能通过对象直接访问)。