1. 内置类: dict, list, int string, tuple, set等
2. 自定义类:def func(), class Person(), 类的属性,实例属性等
3. 查看对象的所有属性: dir(alex) 或是 alex.__dict__
4. 类:拥有一类特殊的事务,如车,人等;
class Person: country = 'China' #类属性,也叫静态属性,类和实例都可以访问 def __init__(self,*args): #初始化方法 self.name = args[0] #实例属性,只有实例可以访问 self.hp = args[1] self.aggr = args[2] self.sex = args[3] def walk(self,n): #类方法,一般由实例对象调用 print('%s走了%s步!' %(self.name,n)) alex=Person('狗剩儿',100,1,'不详') #实例化 print(alex.__dict__) #查看实例对象alex的所有属性 print(Person.__dict__) # print(dir(Person)) print('++++++++++++++++') print(Person.country) print(alex.country) print('################') alex.walk(3) #等价于这种调用:Person.walk(alex) print(alex.name) #查看实例对象alex的属性值 print('*****************') print(alex.name) alex.__dict__['name'] = '小黄儿' #实例的所有的属性是以字典形式存储,故可以通过字典的访问形式修改它,增加值,甚至删除它 alex.__dict__['add'] = '新增加的一个值' print(alex.__dict__) Person.__dict__['country'] = '英国' #会报错TypeError,故不能这样修改
1> 类中定义的函数,是属于类的,叫类方法;
2> 但类不能直接 调试:类.方法() ,要先实例化一个实例对象,作为参数传入才可以调用: 类.方法(实例对象) ;
3> 一般类的方法是通过实例对象来调用的: 实例.方法() ;
4> 类属性也叫静态属性,且类可以直接查看,无需实例化;
5> 类属性,实例对象也可以访问;
6> 实例属性只能由实例访问,类不能访问;
7> 实例的所有的属性(通过__dict__访问时)是以字典形式存储,故可以通过字典的访问形式修改它,增加值,甚至删除它,如alex.__dict__['name'] = '小黄儿';
8> 类的所有的属性(通过__dict__访问时)只能查看,不能修改,如Person.__dict__['country'] = '英国'会报错;
5. 类的实例应用:
from math import pi class Circle: def __init__(self,r): self.r=r def area(self): #面积 return pi*(self.r**2) def perimeter(self): #周长 return 2*pi*self.r c1=Circle(3) print(c1.area()) print(c1.perimeter())