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>& ...
随机推荐
- Bata版本
一.团队成员 1)冯鹏(组长) 201731062617 2)鲜泽 201731062612 3)李家豪 201731062614 4)郭经伟 201731062615 5)程前勇 2017310 ...
- Struts2简单环境搭建
一.开篇 Struts2是一个运行于web容器的表示层框架,其核心作用是帮助我们处理Http请求.Struts2处理Http请求(Request),并进行内部处理,再进行Http返回. 下载strut ...
- c# CacheHelper缓存帮助类
一.开篇 主要功能:改善程序性能.服务器的响应速度,尤其是当数据的处理过程变得复杂以及访问量变大时,变得比较明显.有些数据并非时刻在发生变化,如果我们可以将一些变化不频繁的数据的最终计算结果(包括页面 ...
- TextView 限制最大行数、最小行数、字数超过“...”表示
最小行数: android:minLines = "2" //最小行数为2 最大行数: android:maxLines = "2" //最大行数为2 文字超过 ...
- linux拷贝文件
linux之cp/scp命令+scp命令详解 2011-03-09 17:27:22| 分类: Linux | 标签:linux cp scp commond |字号 订阅 名称:c ...
- MDL的一些理解
驱动程序要操作一个用户模式下的内存(32位下小于2G),那么是有风险的,因为用户模式下当前进程的线程不断切换,用户模式下的地址可能会无效.这时的操作将会有未知结果. 用MDL系统API可以将用户模式下 ...
- shell-6.环境变量配置文件
1. 2. 3. 4. 5. 6.
- 论wpf的设备无关性 - 简书
原文:论wpf的设备无关性 - 简书 WPF从发布之日起,一直将“分辨率无关(resolution independence)”作为其亮点,声称使用WPF制作的用户界面在轻巧的Ultra-Mobile ...
- 移动端rem自适应设置
对于移动端自适应各种终端的解决方案较多,本篇只是选择其中一种rem适配,我个人做移动端最喜欢的方案. rem就是以html根元素的字体大小为参考,比如html:font-size:20px;1rem= ...
- MgdDbg工具
ArxDbg是可以查看AutoCAD内部数据结构的工具,可惜是C++的.从网上找到了一个.NET版本的MgdDbg,实现的功能与C++版本的差不多. 1.运行程序,你只要右键点击AutoCAD窗口,在 ...