【Python编程:从入门到实践】chapter9 类
chapter9 类
9.1 创建和使用类
9.1.1 创建Dog类
class Dog():
"""一次模拟小狗的简单尝试"""
def _init_(self, name, age):
self.name = name
self.age = age
def sit(self):
print(self.name.title()+"is now sitting.")
def roll_over(self):
print(self.name.title() + "rolled over!")
1:方法_init_()
每当根据Dog类创建新实例时,Python都会自动运行它。
2:在Python2.7中创建类时,需要做细微的修改-在括号内包含单词object:
class ClassName(object)
9.1.2 根据类创建实例
my_dog = Dog('willie', 6)
print("My dog's name is" + my_dog.name.titile() + “。)
print("My dog is" + str(my_dog.age) + "year old.")
1:访问属性
2:调用方法
3:创建多个实例
9.2 使用类和实例
9.2.1 Car类
class Car():
def _init_(self,make,model,year):
self.make = make
self.model = model
self.year = year
def get_descriptive_name(self):
long_name = str(self.year)+' '+self.make+' '+self.model
return long_name.title()
my_new_car = Car('audio', 'a4', 2016)
print(my_new_car.get_descriptive_name())
9.2.2 给属性指定默认值
9.2.3 修改属性的值
1:直接修改属性的值
2:通过方法修改属性的值
3:通过方法对属性的值进行递增
9.3 继承
9.3.1 子类的方法_init_()
创建子类的实例时,Python首先需要完成的任务是给父类的所有属性赋值。
为此,子类的方法_init_()需要父类是以援手。
class ElectricCar(Car):
def _init_(self,make,model,year):
super()._init_(make,model,year)
my_tesla = ElectricCar("tesal","models",2016)
9.3.2 Python 2.7中继承
class Car(object):
def _init_(self,make,model,year):
--snip--
class ElectricCar(Car):
def _init_(self,make,model,year):
super(EletricCar,self)._init_(make, model, yeat)
--snip--
9.3.3 给子类定义属性和方法
9.3.4 重写父类的方法
9.3.5 将实例用作属性
class Battery():
def _init_(self,battrty_size= 70):
self.battery_size = battery_size
class ElectricCar(Car):
def _init_(self,make,model,year):
super()._init_(make,model,year)
self.battery = Battery()
9.4 导入类
9.4.1 导入单个类
from car import Car
9.4.2 在一个模块中存储多个类
9.4.3 从一个模块总导入多个类
from car import Car, ElectricCar
9.4.4 导入整个模块
import car
9.4.5 导入模块中的所有类
from module_name import *
9.4.6 在一个模块中导入另一个模块
9.4.7 自定义工作流程
9.5 Python标准库
9.6 类编码风格
【Python编程:从入门到实践】chapter9 类的更多相关文章
- Python编程从入门到实践笔记——类
Python编程从入门到实践笔记——类 #coding=gbk #Python编程从入门到实践笔记——类 #9.1创建和使用类 #1.创建Dog类 class Dog():#类名首字母大写 " ...
- Python编程从入门到实践
Python编程从入门到实践1 起步2 变量和简单数据类型3 列表简介4 操作列表5 if语句6 字典7 用户输入和while循环8 函数9 类10 文件和异常11 测试代码12 武装飞船13 外星人 ...
- 《Python编程:从入门到实践》分享下载
书籍信息 书名:<Python编程:从入门到实践> 原作名:Python Crash Course 作者: [美] 埃里克·马瑟斯 豆瓣评分:9.1分(2534人评价) 内容简介 本书是一 ...
- 《python编程从入门到实践》读书实践笔记(二)
本文是<python编程从入门到实践>读书实践笔记11章的内容,主要包含测试,为体现测试的重要性,独立成文. 11 测试代码 写在前面的话,以下是我这些年开发中和测试相关的血泪史. 对于一 ...
- 《python编程从入门到实践》读书实践笔记(一)
本文是<python编程从入门到实践>读书实践笔记1~10章的内容,主要包含安装.基础类型.函数.类.文件读写及异常的内容. 1 起步 1.1 搭建环境 1.1.1 Python 版本选择 ...
- Python编程从入门到实践笔记——异常和存储数据
Python编程从入门到实践笔记——异常和存储数据 #coding=gbk #Python编程从入门到实践笔记——异常和存储数据 #10.3异常 #Python使用被称为异常的特殊对象来管理程序执行期 ...
- Python编程从入门到实践笔记——文件
Python编程从入门到实践笔记——文件 #coding=gbk #Python编程从入门到实践笔记——文件 #10.1从文件中读取数据 #1.读取整个文件 file_name = 'pi_digit ...
- Python编程从入门到实践笔记——函数
Python编程从入门到实践笔记——函数 #coding=gbk #Python编程从入门到实践笔记——函数 #8.1定义函数 def 函数名(形参): # [缩进]注释+函数体 #1.向函数传递信息 ...
- Python编程从入门到实践笔记——用户输入和while循环
Python编程从入门到实践笔记——用户输入和while循环 #coding=utf-8 #函数input()让程序暂停运行,等待用户输入一些文本.得到用户的输入以后将其存储在一个变量中,方便后续使用 ...
- Python编程从入门到实践笔记——字典
Python编程从入门到实践笔记——字典 #coding=utf-8 #字典--放在{}中的键值对:跟json很像 #键和值之间用:分隔:键值对之间用,分隔 alien_0 = {'color':'g ...
随机推荐
- python 学习日志
1.pip is already installed if you're using Python 2 >=2.7.9 or Python 3 >=3.4 binaries downloa ...
- css3实现漂亮的倒影效果
实际上还有很多CSS新属性并未包含进CSS3官方标准中.-webkit-box-reflect属性就是以谷歌浏览器为代表的Webkit渲染引擎独有的特征.-webkit-box-reflect的作用是 ...
- ubuntu16安装mysql图形界面
之前在windows用sqlyog当做图形界面连接mysql,现在在ubuntu上需要连接测试环境的数据库,需要安装mysql图形界面.安装只需要条命令: sudo apt-get update su ...
- Android manifest 获取源代码
/********************************************************************************* * Android manifes ...
- Ubuntu忘记root密码的解决方法
如果是Linux操作系统的话,其实也是很简单 -- 单用户登陆.下面以Ubuntu14.04来简单演示一下具体的操作流程. 1. 开机 2. 此时会有一个选项:Advanced Options for ...
- PHP 7.0 升级备注
PHP 7.0.0 beta1 发布了,在带来了引人注目的性能提升的同时,也带来了不少语言特性方面的改变.以下由 LCTT 翻译自对官方的升级备注,虽然目前还不是正式发布版,不过想必距离正式发布的特性 ...
- HDU 4681 string 求最长公共子序列的简单DP+暴力枚举
先预处理,用求最长公共子序列的DP顺着处理一遍,再逆着处理一遍. 再预处理串a和b中包含串c的子序列,当然,为了使这子序列尽可能短,会以c 串的第一个字符开始 ,c 串的最后一个字符结束 将这些起始位 ...
- 《DSP using MATLAB》Problem 4.18
代码: %% ------------------------------------------------------------------------ %% Output Info about ...
- java1.8操作日期
java1.8获取年份: int year = Calendar.getInstance().get(Calendar.YEAR); StringBuilder code = new StringBu ...
- ThinkPHP AJAX分页及JS缓存的应用
//AJAX分页详见兄弟连PHP项目视频教程22讲35分钟左右 主要实现是需要将分页中的每个链接都改为AJAX请求 //前端缓存技术:基于javascript传输的数据,只要浏览器没关,都保存在内存中 ...