python面对对象
面对过程VS面对对象
面向过程的程序设计的核心是过程,过程就是解决问题的步骤,面向过程的设计就是考虑周全什么时候处理什么东西
优点:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。缺点 :一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身。
类和对象
类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
创建类
使用class语句来创建一个新类,class之后为类的名称并以冒号结尾
1 class open: 2 def __init__(self): 3 pass 4 a = open(....)
self代表类的实例,而非类
类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。
class Test: def prt(self): print(self) print(self.__class__) t = Test() t.prt()
实例
一下是一个简单的python类的例子
# # def ren(name,blood,aggr): # # berson = { # # 'name': name, # # 'blood': blood, # # 'aggr': aggr # # } # # def skill(dog): # # dog['blood'] -= berson['aggr'] # # print('{}受到了伤害了{}血'.format(dog['name'], berson['aggr'])) # # berson['skill']= skill # # return berson # # # # def Dog(name,blood,aggr): # # dog ={ # # 'name' : name , # # 'blood' :blood, # # 'aggr' :aggr # # } # # return dog # # ji=ren(1,100,1) # # al=Dog(2,100,2) # # ji['skill'](al)
类属性的补充
一:我们定义的类的属性到底存到哪里了?有两种方式查看 dir(类名):查出的是一个名字列表 类名.__dict__:查出的是一个字典,key为属性名,value为属性值 二:特殊的类属性 类名.__name__# 类的名字(字符串) 类名.__doc__# 类的文档字符串 类名.__base__# 类的第一个父类(在讲继承时会讲) 类名.__bases__# 类所有父类构成的元组(在讲继承时会讲) 类名.__dict__# 类的字典属性 类名.__module__# 类定义所在的模块 类名.__class__# 实例对应的类(仅新式类中)

更多精彩