Python面向对象知识点总结
一、变量
你可以把变量想象成一个用来存储值的单词。
二控制流程:条件语句
“If”使用一个表达式来判断一个语句是True还是False,如果是
True,那么执行if内的代码;
三、循环和迭代
="haha,hehe"^^^^^^^Hprint
^^^^^^B
python对象销毁(垃圾回收)
Python使用了引用计数这一简单技术来跟踪和回收垃圾。
在Python内部记录着所有使用中的对象各有多少引用。
—个内部跟踪变量,称为一个引用计数器。
当对象被创建时,就创建了一个引用计数,当这个对象不再需要时,也
就是说,这个对象的引用计数变为0时,它被垃圾回收。但是回收不是"立即"的,由解释器在适当的时机,将垃圾对象占用的内存空间回收。
b=a#增加引用,<40>的计数
c=[b]^加引数I
a^少引计数
b=100^少引计数I
c[0]=-厂^少引计数J
垃圾回收机制不仅针对引用计数为0的对象,同样也可以处理循环引用的情况。循环引用指的是,两个对象相互引用,但是没有其他变量引用他们。这种情况下,仅使用引用计数是不够的。Python的垃圾收集器实际上是一个引用计数器和一个循环垃圾收集器。作为引用计数的补充,垃圾收集器
也会留心被分配的总量很大(及未通过引用计数销毁的那些)的对象。在
这种情况下,解释器会暂停下来,试图清理所有未引用的循环。
类的继承
面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之—是通过继承机制。继承完全可以理解成类之间的类型和子类型关系。
需要注意的地方:继承语法class派生类名(基类名):基类名写在括
号里,基本类是在类定义的时候,在元组之中指明的。
在python中继承中的一些特点:
:在继承中基类的构造(__init_()方法)不会被自动调用,它需要在其派生类的构造中亲自专门调用。
:在调用基类的方法时,需要加上基类的类名前缀,且需要带上self参数
变量。区别于在类中调用普通函数时并不需要带上self参数
:Python总是首先查找对应类型的方法,如果它不能在派生类中找到对应的方法,它才开始到基类中逐个查找。(先在本类中查找调用的方法,找不到才去基类中找)。
如果在继承元组中列了一个以上的类,那么它就被称作"多重继承"。
需要注意的地方:继承语法class派生类名(基类名):基类名写在括
输入
#!/usr/bin/envpython
Zul^H
defZ_in^__(self):^^^^^^Hprint"^O^^father^^^BdeffatherMethod
print"iamfatherMethod"defsetfa(self八
^IclassSon(Falhei丿.
print"iamson"^^^^^HdefsonMethod(self):^^^^Hprint"iamsonMethod"H
s=Son()()()
输出:
iamson
iamfatherMethodiamsonMethod
也可以继承多个类:
classC(A,B):
r
#继承类A和B
调用方法重写
输入:
#!/usr/bin/envpython
it_(self)
print
deffatherMethod
print"iamfatherMethod"
classson(Lalhel):
deffatherMethod
print"iambigboy"^^H
类属性与方法
类的私有属性
__private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时
。
类的方法
在类的内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数
类的私有方法
__private_method:两个下划线开头,声明该方法为私有方法,不能在类地外部调用。
输入:
classFather:
a=:
100
二
#公开变量
__haha=0#私有变量
print"ia^^f^her^^^B
deffatherMethod
print"iamfatherMethod"deffatherMethod
prin
Python面向对象知识点总结 来自淘豆网m.daumloan.com转载请标明出处.