。# 第三章 列表简介
1.常用函数
添加元素
list.append(“new”)
list.insert(0,’‘new’’)
删除元素
del list[0] 删除第0个元素
**list.pop()**弹出最后一个元素,并且返回,也可以选择位置
list.remove(“new”) 删除列表中为new的元素
列表排序
list.sort() 永久性排序
sorted(list) 暂时排序,只是返回一个有序的结果,列表元素没有变化位置
list.sort(reverse=True) 倒序
sorted(list,reverse=True)
列表长度
len(list) 得到长度
第四章 操作列表
1.遍历列表
for x in list: for循环遍历
2.数值列表
range()函数
range(0,5) 0,1,2,3,4
range(0,5,2) 0,2,4间隔为2
用range()和list()创建列表
list(range(0,5)) [0,1,2,3,4]列表
3.统计函数
min(list) 最小值
max(list) 最大值
sum(list) 列表和
4.列表解析
用for循环和创建新元素的代码合并成为一行,并且附加新元素
list = [value2 for value in range(1,11)] 创建平方列表
5.切片
list[0:3] [0,1,2]
list[:] 用来复制与赋值
6.元组
tuple(range(5)) 5个元素的元组,不能修改的列表,但是能够修改整个元组
for x in tuple: 遍历元组
第五章 if语句
1.and/or 与和或
2.检查特定元素是否在列表中
x in list[5] 用in这个关键字
3.检查特定值是否不在列表中
** x not in list[5]** 用not in 这个关键字
4.条件测试,即布尔表达式
6.if语句
1).简单if语句
if conditional_test:
do something
2).if_else语句
3).if_elif_else语句
可以使用多个elif
4).省略else代码块
第六章 字典
1.字典
alian_0 = {‘color’:‘green’,‘point’:5} 字典类似于map
2.删除键值对
del alian_0[‘color’] 删除元素
3.遍历字典
1).遍历键和值
for key,value in alian_0.items(): 关键在于items
2).遍历键
for name in favorite_languages.keys(): 只是遍历键,返回包含所有键的迭代器
for name in favorite_languages 默认遍历键
3).遍历所有值
for language in favorite_languages.values(): 遍历所有值,返回是一个列表迭代器
for language in set(fovorite_languages.values()) 返回一个集合,剔除重复的值
4.嵌套
字典可以当作值存在字典中,列表中,同时列表可以存在字典中
第七章 用户输入和while循环
1.input()原理
input(“输入:”) 这里,会把括号内部的参数先显示出来,再等待输入
input()的输入当中字符串
2.while循环简介
while condition: 如果条件不满足的时候退出
3.退出条件
break 提前退出
continue 结束单次循环
4.删除特定列表元素
while “cat” in pets:
pets.remove(‘cat’) 删除列表中所有的cat
第八章 函数
1.定义函数
def function(): 定义函数,def关键字用来告诉python,这是一个函数,括号内为参数
2.传递实参
1).位置参数
对应位置的实参,对应对应的形参
2).关键字实参
在实参中将名称和值关联起来
3).默认值参数
通过默认参数,使形参变成可选的 形参指定默认值,等号两边不要有空格
4).传递任意数量的实参
*def function(parameter) 将传递来的一系列参数存入元组,任意位置实参
**def function(parame) 将传递来的任意的关键字参数存入字典
3.返回值
return x 返回值可以是任何类型,可以是字典和列表
4.传递列表
可以传递,传递切片就不会修改列表
5.导入函数
import ku 用import导入库
from ku import function 从库中导入特定的函数
from ku import function1,function2,function3 从库中导入特定的几个函数
from ku import function as fc 导入特定的函数,并且给一个别名
import ku as k 给导入的库一个别名
from ku import * 导入库中的所有函数,不用再用库加点函数调用函数了
第九章 类
1.创建类
class Dog(): 用class创建一个类,类的名字首字母大写
def init(self,a,b) 用init定义创建实例,方便调用,两侧短横线有两个
2.调用类
dog = Dog(‘lihua’,‘19’) 传递参数,调用类返回的是一个实例对象
3.给属性指定默认值
在__init__()中修改默认值
4.修改属性的值
1).直接修改属性的值
dog.name = lisi 直接访问修改
2).通过方法修改
通过定义的方法修改属性值
3).通过方法对属性值进行递增
def increment_odometer(self,miles): 递增里程表
5.继承
1).子类方法
class ElectricCar(Car): 定义子类的时候,括号内部有父类的名称
super().init(make,model,year) 父类也称为超类
2).父类方法重写
如果父类中的方法不好用,可以在子类中写一个相同名字的方法
3).类可以当作属性赋值给实例
self.battery = Battery() 模块化
6.导入类
将类存在模块内 然后导入模块,就可以使用类,可以存储多个类
可以在模块中导入模块 实现模块分开储存和相互关联
7.意义
这些方法是让工程项目模块化,结构清晰
第十章 文件和异常
1.从文件中读取数据
1).读取整个文件
with open(“pi_digits.txt”) as file_object 按照路径打开文件,与程序同文件夹用相对路径,不同用绝对路径,with打开的文件对象只能在with的代码块内用
2).逐行读取
for line in file_object: 逐行读取
3).创建一个包含文件各行内容的列表
lines = file_object.readlines() 读取文件的每一行,存在一个列表中,with外依旧可以使用这个列表
4).写入空文件
with open(filename,‘w’) as file_object: 可写打开文件,默认为只读
file_object.write(“i love programming”) 覆盖文件本来内容
with open(filename,‘a’) as file_object: 附加打开文件
file_object.write(“i love programming”) 可以后面接着写
2.异常
1).ZeroDivisionError异常
try-except 用来处理异常,不至于程序中断
2).FileNotFoundError异常
try-except处理异常
3.存储数据
1).使用json.dump()和json.load()
json.dump(numbers,f_obj) 存储数据进入文件
numbers = json.load(f_obj) 读取数据
4.重构
让代码更加清晰,结构性更强
第十一章 测试代码
1.测试函数
import unittest 引入一个模块来测试
class NamesTestCase(unittest.TestCase) 创建一个继承unittest.TestCase的类
2.测试类
import unittest 引入模块测试
setUp() python先运行这个,再运行其他test_方法