<>文本书写
.title()首写字母大写
.upper()全部大写
.lower()全部小写
\n空格
\t换行
<>列表元素处理
.lstrip()清除字符串开头的空白
.rstrip()清除字符串结尾的空白
.strip()清除字符串所有多余的空白
** 两个乘号代表乘方运算
str()字符串
[]列
print(变量[0])第一个元素
print(变量[-1])访问列表最后一个元素 以此类推
.append()将元素添加到列表末尾 (可以创建空白列然后琢一添加)
del 变量[] 删除元素(再也不使用)
.pop() 弹出末尾元素 pop(0)弹出第一个元素(保留被删除的元素)
.remove(‘值’) 根据值找到元素并将其删除 删除值扔可使用
.insert(0,‘元素’) 将元素添加到开头(添加元素到任意位置)
.sort()按字母顺序排序 (永久的)
.sort(reverse=True)按字母倒序排列 (永久的)
sorted(变量)按字母顺序排列 但不改变原有序列顺序
sorted(变量,reverse=True)按字母倒序排列 但不改变原有序列顺序
.reverse() 反转列表元素的排列(与字母顺序无关)
len()获取列表长度 (计算元素是从1开始的)
<>for语句:
for 存储变量 in 定义变量:
print(存储变量)
for循环后面没有缩进的代码都只执行一次,不会重复执行
for 存储变量 in range(1,5) 输出为1,2,3,4
list(range(1,5))数字转列表,输出为[1,2,3,4]
指定步长 range(2,11,2) 最后一个是增加量 从2开始数到11
min() 最小
max() 最大
sum() 求和
for的简便写法:
变量=[y**2 for y in range(1,5)] 依次求1到4的平方
切片(针对序列,序号从0开始)
print(变量[0:3]) 输出是三个元素 0,1,2
( [:3])从0开始到第三个
( [2:])从第三个元素到最后一个元素
( [-3:])最后三个元素
( [:])全元素
元组:
(不可变的列表,用()表示,只能用修改元组变量的方式修改值)
(不可变的:不能修改的值)
缩进格式:空4个空格 最好不超过79个字符
<>if语句:
条件测试:核心都是一个值为True或False的表达式
格式:==两个等号为检查,发问的意思
大小写做为比较时的考虑因素,但是对元素进行.title()不会改变原有变量值
!=不等于(效率更高)
<小于 >大于 <=小于等于 >=大于等于
检查多个条件:利用逻辑关系
and(都满足时才能通过)
or(满足任意一条即可)
in 用于特定值检查(不用加冒号 不搭配if时)
not in (搭配if时加冒号)
布尔表达式:条件测试的别称,布尔值用于记录条件
例:game_active=True can_edit=False
简单的if循环与for相同,可以跟任意数量的代码行
if-else结构都要打冒号
if-elif-else结构(适用于多个情形,当知道最终测试条件可省略else,
但是该结构适用于只有一个条件满足)
if在条件特殊,可能有多个条件为True的情况时使用
<>字典
字典={‘存储变量1’:’’,存储变量2:’’}
print(字典[‘存储变量’]
添加键_值对:字典[‘存储变量3’]=?
注意:python 不关心键_值对的添加顺序,只关心键和值之间的关系
可以创建空字典,然后逐一添加
修改值方法=添加值覆盖原有值
删除键_对:del 字典[‘元素’]
由类似对象组成的字典(众多对象)
字典={
语句一
语句二
语句三
}
较长print语句分行
print(第一句+
第二句
第三句)
遍历字典(for循环)
1.所有键_对:
for new_1,new_2 in 字典,items():
print(“new_1:”+new_1)
print(“new_2:”+new_2)
2.遍历键:.keys()
3.遍历值:.values()
4.排列顺序:sorted(变量.keys()或者values.())
5.剔除重复项,使用集合set(变量) 同排序
6.嵌套:自动生成随机代码,采用range()实现的py
7.for循环加if循环生成随机
8.列表存字典
9.字典套字典
<>While循环与输入
1.变量=input(’’) 变量的属性为字符串
2.运算符:+= 存储变量中的字符串在末尾添加一个字符串
3.int() 将字符串转换为数字
4.% 求模运算符 两数相除并返回余数 a%b
5.判断奇偶数(if else %)
6.基本循环 利用+=
7.用户选择退出,中间需要定义一个空白变量
将print放在if后面,解决将不需要变量打印出来的问题
8.标志:定义一个变量,用于判断整个程序是否处于活动状态
9.标志的意义:让while只需判断程序的标签值为True或False
[多事件导致的游戏崩溃]
10.变量=True 让程序最初处于活动状态 用while和if做循环
11.break 跳出循环 适用于python任何循环
12.continue 相当于跳过
13.Ctrl+c 终止无限循环 关掉也可以
14.while和for的区别:
for循环中不应修改列表,
while可在遍历列表时对对象进行修改
15.删除特定值的所有列表元素:在while循环里面对变量.remove(‘特定值’)
16.用户输入来填充字典
<>函数
def 形参(实参):
[传递实参:]
1.位置实参:基于实参的顺序连接形参和实参(位置一定要一一对应)
2.关键字实参:在括号内明确指出形参对应的实参
3.形参可以设置成默认值 (建议少用)
4.返回值:函数返回的值
5.定义形参为空字符串可以让其变为可选状态(存储名字两个字三个字,多的字放在后)
6.python将非空字符串理解为True
7.传递列表:函数能直接访问内容
8.在函数中修改列表:用于处理执行任务太多次数的工作
9.functiong_name(list_name[:])#创造副本 禁止函数修改列表
10.形参 #创建一个名为形参的空元组,收纳任何实参并封装到一个元组中
11.接受不同类型的实参,加号的形参放在最后
12.**形参 #创建一个空字典,装所有的键_值对
[import]
1.import 模板名 #导入函数模板
2.模板名.函数名() #调用模板任意函数
3.from 模板 import 函数名 #导入特定函数
4.from 模板 import 函数名_1,函数名_2,函数名_3
[as]指定别名
1.from 模板 import 函数名 as 新名字 #给函数指定别名
2.import 模板 as 新名字 #给模板指定别名
3.form 模板 import * #导入所有函数(不推荐)直接调用函数,不用前缀模板名
4.给形参指定默认值时,等号两边不要有空格,关键值实参同理
<>类
1.根据类来创建对象被称为实例化
2.首字母大写的名称指的是类
3.__init __ 方法 (切记两边各两个下划线)
4.通过实例访问变量称为属性
5.句点表示法演示了python如何获悉属性的值
6.类可以创建多个实例
7.类的每个属性都必须有初始值,哪怕是0或者空字符
8.修改属性的值:①直接修改属性的值②通过方法修改属性的值③通过方法对属性的值进行递增
9.python标准库就是一组模板
10.类编码风格:驼峰命名法(类名首写字母大写,不用下划线,实例名和模板都小写,单词之间加下划线)
[继承]
1.定义子类时,必须在括号内指定父类的名称
2.super().是一个特殊函数,帮助python将父类和子类关联起来
3.父类也叫‘超类’(superclass)
4.2.7版本中 需要在父类括号中加object super函数括号内需要两个时参:子类名,对象self
5.将实例用作属性,创建一个新类,没有继承任何类
[导入类]
1.from 文件名 import 类 (推荐)
2.导入整个模板 (同函数导入) 模板名.类名
3.导入模板所有类 from module_name import * (不推荐)
4.模板中导入另一个模板 在子类的模板中导入父类模板中的父类
<>文件
1.with open(‘文件名’) as file_object:
2.open() 打开 close() 关闭 .read() 读取 .readlines() 读取每一行,并存储在一个列表
3.rstrip() 删除文件后面的空行
4.文件路径查找
(1)Linux: with open(‘text_files/filename.txt’) as file_object:
(2)Windows: with open(‘text_files\filename.txt’) as file_object:
5.绝对路径查找
(1)Linux OSX :file_path =
‘/home/ehmatthes/other_files/text_files/filename.txt’
with open(file_path) as file_object:
(2)Windows:file_path =
r’C:\Users\ehmatthes\other_files\text_files\filename.txt’
with open(file_path) as file_object:
注意:反斜杠在python中被视为转义标记 确保万无一失,应在开头的单引号前加r
6.逐行读取:for循环 for line in file_object:
7.python读取文件,将所有文本都读解为字符串
8.写入文件:open()提供两个实参 第一个实参打开文件 关于第二个实参:
'r’读取模式 'w’写入模式 'a’附加模式 ‘r+’读取和写入模式
9.python只能以字符串写入文本
10.附加模式不会覆盖原有内容,写入文件会添加到文件末尾
<>异常
1.try_except代码块 两者必行其一
2.分析文本: split() 根据一个字符串创建一个单词[列表]
3.pass语句 让python什么都不要做 放在except中
<>存储数据
1.json格式(JavaScript Object Notation)
2.json.dump()存储数据 json.load()读取数据
3.json.dump()接受两个实参:要存储的数据,存储数据文件对象
4.重构:将代码划分为一系列完成具体工作的函数
<>测试代码
1.python标准库的模板unittest提供了代码测试工具
2.单元测试:用于核实函数的某个方面没有问题
3.测试用例:一组单元测试
4.全覆盖式测试:一整套单元测试
5.模板unittest:断言方法(核实得到的结果是否与期望的一样)
6.unittset.TestCase类中的断言方法:
assertEqual(a,b) 核实a==b
assertNotEqual(a,b) 核实a!=b
assertTrue(x) 核实x为True
assertFalse(x) 核实x为False
assertIn(item,list) 核实item在list中
assertNotIn(item,list)核实item不在list中
7.setUp() #首先运行该方法,再运行test打头
8.句点代表测试通过,E代表测试引发错误,F代表测试导致断言失败