- sort()是永久排序 sorted()是临时排序
- len()获长度
- 数字列表
- range(a,b)随机生成数字(不包括b),可加第三参指定步长
- range()作为list()的参数
- 列表解析
squares=[value**2 for value in range(1,11)]
-
- 使用列表的一部分(切片)
- 复制列表 [:]
- 元组(不可变的列表)
- 使用()表示元组
- 不可改变元组的值
- 可以给元组变量重新赋值
- 多条件用and和or
- in判断元素是否在列表中 not in
- if-elif-else
- 字典是一系列的键-值对
- 字典是用{}定义
- del 删除键值对
- items()返回key-value列表
- keys()只返回key
- 遍历列表默认只遍历所有的key
- sorted()来按照顺序遍历字典
- values()遍历字典中的value
- set()用于剔除重复值
- for循环遍历列表是不能改变,使用while时可以继续修改
- 传递实参
- 位置实参
- 关键字实参
- 传递列表 函数对列表的修改是永久性的,若要保留原列表,使用list[:]传递副本
- 传递任意数量参
- (*toppings) 星号创建了一个元组
- (**user_info) 可接收任意数量的键值对,两个星号创建了一个空字典
- 将函数存储在模块中
- 导入整个模块
- 导入时 import 模块名
- 使用时 module.function()
- 导入特定的函数
-
form module import function_1,function_2
- 使用as给函数指定别名
form module import function as fun
- 使用as给模块指定别名
import module as md
- 导入模块中的所有函数(几乎不用)
from module import *
- 导入整个模块
- 创建类
- init()方法,会自动运行 init()中的形参self不可少
- 可通过实例访问的变量称为属性
- 使用类
修改属性的值:
- 直接通过实例修改
- 通过方法设置
- 继承
- 创建子类时父类必须在当前文件
- 在括号内指定子类名称
- Python标准库
random.randint()返回一个位于指定范围内的整数
- open()函数用来打开文件
- 关键字with在不再需要访问文件后将其自动关闭
with open(...) as ...
- 全部读取
read(file_object)
- 逐行读取
for line in file_object: print(line)
- 使用with时,open()返回的文件对象只在with代码块内使用,要在with块外使用时,将文件各行存储在一个列表中
with open(file_name) as file_object: lines=file_object.readlines() for line in lines: print(line)
- 写入文件
with open(filename,'w) as file_object: file_object.write("I love Python") 'w'是告诉python要以写入模式打开文件
- 'r' 读取模式
- 'w' 写入模式(清空旧数据)
- 'a' 附加模式(不清空旧数据)
- 'r+' 读加写
- 只能将字符串写入文本中
- 异常
- try-except代码块处理异常
- 常见异常
-
ZeroDivisionError FileNotFoundError
- 在except语句块中使用pass什么都不做
-
统计特定单词出现了多少次
line.count('apple')
- 存储数据
- json.dump(data,file)存储数据,存储的数据和python中的数据格式一样
- json.load(file)可读取数据+格式,这是程序间共享数据的方式
- 重构 将代码划分为一系列完成具体工作的函数
- 测试函数
unittest模块提供了代码测试工具
import unittest class NamesTestCase(unittest.TestCase): #方法必须test_打头,才能自动运行 #方法名必须是描述性的 def test_function(self): re=function() self.assertEqual(re,'right') unittest.main() #让python运行测试代码
- 测试类
- 每测试类的一个方法都有创建一个类的对象
- 使用setUp()方法,只需创建对象一次。因为,python会先执行setUp(),在运行以test_打头的方法。
class TestAnonymousSurvey(unittest.TestCase): def setUp(self): question="what language did you first learn to speak?" self.my_survey=AnonymousSurvey(question) self.responses= ['english','chinese','spanish'] def test_store_single_response(self): self.my_survey.store_response(self.responses[0]) self.assertIn(self.responses[0],self.my_survey.responses) def test_store_three_response(self): for response in self.responses: self.my_survey.store_response(response) for response in self.responses: self.assertIn(response,self.my_survey.responses) unittest.main()
- 可以在setUp()中创建一系列实例,并设置他们的属性