八、函数
定义函数
def xxx_xxx(): #此处冒号不能漏
"""此处可以添加备注,之后为代码"""
实参和形参
形参——函数完成工作所需的一项信息
实参——实际调用给形参的信息
(类似函数f(x)=y?)
函数可多次调用,同时实参的顺序很重要,理解代码逻辑
返回值,给用户提供信息
返回字典
结合使用函数和while循环
#while千万不要码成了whlie
#示例代码
#结合弹出循环的greeter
def get_formatted_name(first_name,last_name):
"""返回整洁的姓名"""
full_name=first_name + ' ' + last_name
return full_name.title()
while True:
print("\nPlease tell me your name:")
print("(enter'q' at any time to quit)")
f_name=input("First_name:")
if f_name=='q':
break
l_name=input("Last name:")
if l_name=='q':
break
formatted_name = get_formatted_name(f_name,l_name)
print("Hello," + formatted_name + "!")
传递任意数量的实参
将函数储存在模块中
导入模块、函数、所有函数
import
函数编写指南
pep8 建议代码长度不超过79字符,如超过按回车后注意增加缩进,将形参列表和函数主体区分
#代码示例
def function_name(
x_1,x_2,x_3,
x_4,x_5,x_6,):
function body......
九、类
根据类来创建对象被称为实例化,这让你能够使用类的实例
创建Dog类
这个类包含sit()和roll_over()的能力
#代码示例
class Dog():
"""一次模拟小狗的简单尝试"""
def __init__(self,name,age): #此处def __init__()def后有空格!!__为双下划线,一定一定要注意!
"""初始化属性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!")
my_dog=Dog('willie',6)
print("My dog's name is " + my_dog.name.title() + ".")
print("My dog is " + str(my_dog.age) + " years old.")
调用方法
XXX.xx
如
my_dog.sit()
则python反馈
Willie is now sitting.
继承
编写现成类的特殊版本
原有类称为父类,新类成为子类
__init__()
修改子类父类
导入类
from xx import XXX
类编码风格
驼峰命名法:类名中的每个单词首字母大写,不使用下划线,实例名和模块名都采用小写格式,并且在单词之间加上下划线
类Car
实例和模块my_car
python提供了很多选项,熟悉这些选项,对以后组织大型项目的代码开发上面将大有益处,确定正确的开发项目,同时明白和理解别人开发的项目。
python标准库
python预先还有的模块,安装的python都包含它
十、文件和异常
读取文件
file_path='C:\pythonwork\dog.txt'
with open(file_path) as file_object:
#本人使用的是window 10 64位
逐行读取
for line in file_object:
print(xxx.rstrip())
写入文件
file_object.write("I love programming.")
异常
使用try来给用户一个友好的错误消息
try:
xxxx
XXX
print("plaaaaa")
xxxx可执行代码
XXX报错的Traceback类型
凭借经验可以判断用户会在什么地方出错,可及时向用户提供出错信息甚至在编写时便解决错误
储存数据
json.dump()
json.load()
重构
对加载的类或函数进行重写
十一、测试代码
测试函数
test_xxx_xxxx()
测试类
unittest.TestCase
各种断言方法
assertXxxx(x,x)
测试
AnonymousSurvey
方法setUp()
多编写测试一方面能测试你的代码,据说还能增加别的程序员对你的好感,使他们更愿意与你共事,相信你的能力。
part one 结束
接下来书进入part two 实际的项目开发层面