python自学1
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python自学1,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2164字,纯文字阅读大概需要4分钟。
内容图文
![python自学1](/upload/InfoBanner/zyjiaocheng/646/090e6cd1ba4a4affa21951fe4b631edc.jpg)
在看python的视频资源自学
学了一点后觉得还是写点东西好,以后自己回顾也有东西看
面向对象
1. _del_方法:
class dog:
def _del_(self):
print("over")
dog1=dog()
dog2=dog1
del dog1
print("啊")
这一段代码的输出是这样的
啊
over
然鹅当代码改为
class dog:
def _del_(self):
print("over")
dog1=dog()
dog2=dog1
del dog1
del dog2
print("啊")
输出结果就变成
over
啊
原因是系统在调用_del_方法之前有其他调用dog1的语句
(即引用计数大于0)
第一次的代码:
在dog1=dog()时引用计数为1
dog2=dog1时引用计数为2
下方del dog1后引用计数为1
再往下无语句调用dog1——系统退出程序——即引用计数为0——调用_del_函数
结论:在程序中引用计数为0(即无语句调用时或者被删除后)时,_del_函数会被自动调用
如何查看一个对象的引用计数呢?
代码为
import sys
sys.getrefcount(x)
使用方法
import sys
class X:
pass
x=X()
sys.getrefcount(x)
上述代码所得结果为2
但根据观察代码可知这个引用计数应该为1
查阅资料得知:
这个数=真实引用计数+1
在删除x对象后再测一次
即
del x
sys.getrefcount(x)
结果是name ‘x’ is not defined
so。。。
2.继承
创建不同类之后(如创建了A,B两个类)`
class A:
def eat(self):
print('吃饭')
class B:
def drink(self):
print('喝水')
如果A类中的功能,B类也同样有
那么可用继承的方法
class A:
def eat(self):
print('吃饭')
class B(A):
def drink(self):
print('喝水')
即在定义类B的时候在B后加个(A)
表示B是A的子类,A是B的父类
父类下是子类,可无线套娃
即
*class a
class b(a)
class c(b)
class d(c)
。。。
功能上,d能用a、b、c三个类的功能,还能有d类自己独有的功能
!!注意!!(“重写”功能)
子类中可以写一个与父类中功能名相同的功能来重新定义这个功能,程序执行时会优先考虑子类自己的功能
class a:
def eat(self):
print('吃东西')
class b(a):
def eat(self):
print('要恰饭的嘛')
意义:便于更改与更新功能
?调用被重写的原方法
方法一
class a:
def eat(self):
print('吃东西')
class b(a):
def eat(self):
print('要恰饭的嘛')
a.eat(self)
最后一行代码a.eat(self)即完成对父类中eat功能的调用
注意!!!:self不可省略
方法二
class a:
def eat(self):
print('吃东西')
class b(a):
def eat(self):
print('要恰饭的嘛')
super().eat()
同样也是最后一行代码完成对父类中eat功能的调用
但不同的是要调用super()功能来实现
优点为可省略self
^ ^嘻嘻
day1结束
2020/1/21/9:30
内容总结
以上是互联网集市为您收集整理的python自学1全部内容,希望文章能够帮你解决python自学1所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。