您所在的位置:一氧化碳中毒 >> 病种百科>> >> 笨方法学python

笨方法学python

文章来源:一氧化碳中毒   发布时间:2021-8-6 12:41:35   点击数:
  

《笨方法学python》练习42

类是用来描述具有相同的属性的方法的对象的集合,它定义了该集合中每个对象共有的属性和方法。

对象是类的实例

1.创建

classXX(object):

def__init__(self,YY):

2.getettr()函数使用方法:

getattr(object,name[,default])

getattr(x,y)相当于x.y(x为实例)

3.类的实例化

定义在方法中的变量,只作用于当前实例的类。

代码:

a=A()4.重点代码

5.实例变量与类变量

类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。

实例变量:定义在方法中的变量,只作用于当前实例的类。形式:X.X

代码:

classA():def__init__(self):self.x=1#定义一个实例属性y=2#定义一个类属性

6.__dict__是什么?

class中的dict反映类的属性

代码:

classA():def__init__(self):self.x=1#定义一个实例属性y=2#定义一个类属性a=A()一:printa.__dict__结果:{x:1}printa.y结果:2printa.x结果:1#清空实例的所有属性,y不受影响,因为他是类属性而非实例属性a.__dict__={}printa.__dict__结果:{}printa.y结果:2#这里会提示不包含x属性的错误,因为已被清空printa.x结果:错误二:printA.__dict__结果:{y:2,__module__:__main__,__doc__:None,__init__:function__init__at0x02BB0}A.__dict__={}#清空类的所有属性,x不受影响printa.x结果:1printa.y结果:错误#提示错误

7.类的继承

代码:

classFather(object):def__init__(self,name):self.name=nameprint("name:%s"%(self.name))defgetName(self):returnFather+self.nameclassSon(Father):def__init__(self,name):super(Son,self).__init__(name)#或父类名称.__init__(self,参数1,参数2,...)#Son.__init__(name)print("hi")self.name=namedefgetName(self):#子类重写方法,覆盖父类中的该方法returnSon+self.nameif__name__==__main__:son=Son(runoob)print(son.getName())

输出:

name:runoobhiSonrunoob#先找子类中是否含有getName函数,再找父类若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索即方法在子类中未找到时,从左到右查找父类中是否包含方法。

注意:

○类的方法与普通函数的区别:

类的方法中必须要有参数self,且为第一个参数

○self代表的是类的实例

(阅读全文看参考链接)

预览时标签不可点收录于话题#个上一篇下一篇
转载请注明:http://www.lwblm.com/bzbk/12266.html
  • 上一篇文章:
  • 下一篇文章: 没有了