目录
第1章 起步
- 安装一个pycharm
- ctrl+r 批量修改变量名
- 选中,tab 批量缩进,shift+tab 批量反向缩进
第2章 变量和简单数据类型
- 慎用小写字母l和大写字母O
- 变量名避免使用大写字母
- 打印时双引号和单引号同效,若打印内容带引号,需要与print内引号不同
- A**n <=> A^n
- 数字打印错误时,需转字符串。print(str(num) + "th")
- title() 首字母大写
- strip() 删除空白,l/rstrip() 左右
第3章 列表简介
- motrocycles.append() 添加到列表末尾
- del motrocycles[0] / motrocycles.remove() 删除指定元素
- sort() / sorted() 对列表进行永久性 / 临时排序
第4章 操作列表
- for / if / else + :
- python通过缩进代替c中循环或者判断的{}
- 元组:创建一组不可修改的元素,看起来犹如列表,但使用圆括号。不可修改但可重新定义
- 换行\n,制表符\t
- range() 生成一系列数字 range(a,b,c): 从a开始到b-1,c为步长
- 用list()将range()结果转为列表 list(range(1,6))
- 切片,从0开始,-1表最后一个,players[0:3],省略则默认端点
第5章 if语句
- 有时检查两个值不等时效率更高
- 用if 确定列表是否为空 if reuqested_toppings:
第6章 字典
- 存储字典的列表、存储列表的字典和存储字典的字典
- 字典是键-值对 alien_0 = {'color': 'green', 'points': 5}
- 修改字典的值 alien_0['speed'] = 'fast'
- 删除键-值对 del alien_0['points']
- for i in 字典.items() / keys() / values() 遍历键-值对/键/值
- set() 找出列表独一无二的值。for language in set(favorite_languages.values()):
- 生成n个外星人 for alien_number in range(30):
第7章 用户输入和while循环
- 求模运算%
- 程序陷入无限循环可按ctrl+c
- input()将用户输入解读为字符串 age = input("请输入你的年龄: ") age = int(age)
- while循环直到不满足为止: 判断读入信息 / 使用标志active = True / break退出循环 / 在循环中使用continue
- 用户输入填充字典,将收集数据关联起来。name = input(); response = input(); responses[name] = response
第8章 函数
- 注意实参顺序 / 使用关键字实参
- 形参提供实参设定默认值,移在形参列表末尾
- def 定义函数
- 禁止函数修改列表 function(list[:])
- 传递任意数量形参 *toppings
- 传递任意数量关键字(字典里) **user_info
- import 导入见本章习题末
第9章 类
- 在__init__()设初始值,无需包含该形参 self.odometer_reading = 0,同定义子类属性
- from 文件名 import 类/函数,文件命名要求同函数,数字不能在首位,不能带空格和小数点
- __init__(self): self必不可少
- 继承时,super().__init__(无需self)
第10章 文件和异常
- 绝对路径在开头单引号加上r。file_path = r'C:\Users\asus\Desktop\pi_digits.txt'
- 文件中每行末尾都有一个看不见的换行符
- 用浏览器打开.json文件
- 关键字with在访问后关闭文件,open() 接受要打开文件的名称.with open(filename) as file_object:
- 调用open() / close()打开和关闭文件,若未调用close文件不会关闭
- readlines() 读取文件每一行且存在列表里
- replace('A', 'B') 将A换成B
- 读 'r' ,写 'w',附加 'a',读和写 'r+'
- 程序异常会显示一个traceback,可编写try-except代码块判断异常。ZeroDivisionError异常、FileNotFoundError异常
- excep中pass,失败时一声不吭
- json.dump() / json.load() 存储和读取
第11章 测试代码
- import unittest 导入模块
- unittest断言方法
方法 | 用途 |
---|---|
assertEqual(a, b) | 核实 a == b |
assertNotEqual(a, b) | 核实 a != b |
assertTrue(x) | 核实x为True |
asserFalse(x) | 核实x为False |
assertIn(item, list) | 核实item在list中 |
assertNotIn(item, list) | 核实item不在list中 |
- class NameTest(unittest.TestCase): 继承类
- if __name__ == "__main__":
- unittest.main() 若直接使用这一行会报错
- setUp() 创建一个调查对象和一组答案,不需要写断言