【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 ...
随机推荐
- sql,去重
distinct SELECT distinct nf FROM BSHGJJK.T_JJ_NY_QSNCJBQK order by nf desc 来自为知笔记(Wiz)
- magento如何改变首页的布局
打开MAGENTO_INSTALLED_DIR/app/design/frontend/default/default/layout/page.xml 找到名字为'root'的block定义 < ...
- Spring Boot启动 Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Could not instantiate id generator错误
开始运行得很好的项目,因为前一天高度了项目结构和名称突然报上面的错误 查了很多网上资料很多解决方案 造成这个错误的原因有很多,例如 1.@Entity 类有变动,无非正常生成对应的数据库. 解决:使用 ...
- [LeetCode&Python] Problem 917. Reverse Only Letters
Given a string S, return the "reversed" string where all characters that are not a letter ...
- Unity 3D游戏-消消乐(三消类)教程和源码
Unity 消消乐教程和源码 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Start Game -- ...
- Math对象的属性和方法
Math对象是js提供给我们用于运算的方法的集合.若进行数学逻辑上不允许的运算,返回NaN. 属性:Math.E 返回算数常量e(2.718281828459045) Math.LN2 返回2的自然对 ...
- 转 Apache Kafka:下一代分布式消息系统
简介 Apache Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一种快速.可扩展的.设计内在就是分布式的,分区的和可复制的提交 ...
- fl包下的TransitionManager的使用
http://www.republicofcode.com/tutorials/flash/as3transitionmanager/
- priority_queue
priority_queue<int> p;//最大值优先,是大顶堆一种简写方式 priority_queue<int,vector<int>,greater<in ...
- 浏览器的自动翻译会影响 JS 逻辑
有人在 QQ 群里反馈,官方注册后跳转时出现 Bug. 收到群友非常有用的资讯,这是因为浏览器的自动翻译功能引起的. 11:04:21[潜水]Better Command 2017/12/30 11: ...