python 3.x 学习笔记10 (析构函数and继承)
1.类变量的用途:
大家公用的属性,节省开销(内存)
2.析构函数
在实例释放和销毁的时候执行的,通常用于做一些收尾工作,如关闭一些数据库链接和打开的临时文件
3.私有方法
两个下划线开头,声明该方法为私有方法,不能在类地外部调用。
4.私有属性
两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。
5.
继承的时候重写构造函数要先将父类的所有参数写一遍加上子类变量,然后调用父类,再添加子类的实例化变量。
6.
python2.x 经典类是按深度有先来继承的,新式类是按广度有先来继承的。
python3.x 经典类和新式类都是统一按广度优先来继承的。
练习
#父类1
class Person(object): #新式写法 def __init__(self,name,age):
#构造函数
self.name = name #实例化变量(静态属性) ,作用域为实例化本身
self.age = age
self.friends = [] def eat(self): # 类方法 功能(动态属性)
print('%s will eat something ! '%self.name) def run(self):
print('%s will runing !'%self.name) def sleep(self):
print('%s will sleep !'%self.name) #父类2
class Relation(object):
def make_friends(self,obj):
print('%s make friend with %s'% (self.name,obj.name))
self.friends.append(obj) #这里传的参数是obj,在这例题里 obj既是 w1 #子类
class Man(Person,Relation): #多继承
def __init__(self,name,age,money): #重写构造函数
#Person.__init__(self,name,age,money) #经典写法
super(Man,self).__init__(name,age) #新式写法,建议用这种写法
self.money = money def piao(self):
print('%s is piaoing .......'% self.name) #子类
class Woman(Person,Relation): #多继承
def piao(self):
print('%s is piaoing .......'% self.name) m1 = Man('张三',20,10) w1 = Woman('lili',21) m1.make_friends(w1)
print(m1.friends[0].name)
print(m1.friends[0].age) # m1.piao()
# m1.eat()
# m1.run()
# m1.sleep()
python 3.x 学习笔记10 (析构函数and继承)的更多相关文章
- Requests:Python HTTP Module学习笔记(一)(转)
Requests:Python HTTP Module学习笔记(一) 在学习用python写爬虫的时候用到了Requests这个Http网络库,这个库简单好用并且功能强大,完全可以代替python的标 ...
- python网络爬虫学习笔记
python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...
- 《C++ Primer Plus》学习笔记10
<C++ Primer Plus>学习笔记10 <<<<<<<<<<<<<<<<<&l ...
- Python Built-in Function 学习笔记
Python Built-in Function 学习笔记 1. 匿名函数 1.1 什么是匿名函数 python允许使用lambda来创建一个匿名函数,匿名是因为他不需要以标准的方式来声明,比如def ...
- Python3+Selenium3+webdriver学习笔记10(元素属性、页面源码)
#!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记10(元素属性.页面源码)'''from selenium i ...
- thinkphp学习笔记10—看不懂的路由规则
原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...
- SQL反模式学习笔记10 取整错误
目标:使用小数取代整数 反模式:使用Float类型 根据IEEE754标识,float类型使用二进制格式编码实数数据. 缺点:(1)舍入的必要性: 并不是所有的十进制中描述的信息都能使用二进制存储,处 ...
- golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息
golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...
- Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息
</pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...
随机推荐
- linux服务器卸载本机默认安装的jdk
1. 查看系统安装的版本情况: rpm -qa | grep jdk rpm -qa | grep gcj 2. 查看并删除 [root@iZ2zeedm3x12d8xb4g15a ...
- php.ini配置文件参数优化
用于生产环境中的PHP需要对其进行优化,让PHP自身发挥更好的性能,除了写好PHP代码,还要配置好php-fpm以及php.ini调优.本文从内存.OPcache.上传.会话以及安全等方面讲解php. ...
- JS 限制input框的输入字数,并提示可输入字数
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- iOS 处理图片的一些小 Tip
UIImage 缓存是怎么回事? 通过 imageNamed 创建 UIImage 时,系统实际上只是在 Bundle 内查找到文件名,然后把这个文件名放到 UIImage 里返回,并没有进行实际的文 ...
- NGUI 按钮点击事件的两种绑定形式
面板属性栏绑定 写一个脚本,定义一个Public的方法 Notify中选择物体时,选中自己 然后就可以选择通知到写的那个脚本的里边的public方法 代码绑定 创建一个代码文件,挂载到按钮对象上 代码 ...
- ABBYY简体中文版终身授权半价来袭,真的是5折!
经过了一个春秋,心心念念的双十一终于要来了,一年时间并不长,但这一个月尤其慢!ABBYY官方称为回馈广大用户的支持与厚爱,双十一期间,ABBYY价格感人,诱惑难挡. 说到双十一活动,方式也是五花八门, ...
- 用 Java 技术创建 RESTful Web (服务 JAX-RS:一种更为简单、可移植性更好的替代方式)
作者: Dustin Amrhein, 软件工程师, IBM Nick Gallardo, 软件工程师, IBM 出处: http://www.ibm.com/developerworks/cn/we ...
- IOS - autoresizingMask
提醒:当frame设定死,慎用autoresizingMask:否则该frame变形的难以想象.
- 笔记本安装Archlinux笔记
同步更新于wendster大佬的个人博客 搬运自我的洛谷博客 可能会不定期更新! 因为前几天给我的小炸鸡加了一根内存条:而且先前装的Xubuntu是32位的,使用极其不方便:再加上wendster大佬 ...
- oracle 的列转行函数 listagg()
当你的表X中有A,B两列,数据如下 A B a 1 a 2 a 3 b 1 b 2 b 3 想让数据以 a|1|2|3 , b|1|2|3 格式显示可使用listagg() 1.使用listagg() ...