python笔记
1
实现整除的操作符(即使用浮点数相除显示的结果依旧是整数)://
【3.*版本】/变成了真实的除法,例如10/8,结果为1.25
2
幂(乘方)运算符:**
3
注释的方法:''' ''',#
支持中文注释的方法:#coding=utf-8 或 # -- coding: cp936 --
4
【2.*版本中】
输出非数值型或字符串,使用raw_input
raw_input() 将所有输入作为字符串看待,返回字符串类型
input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )
5
python不允许if条件中赋值
例如if c=1:会报错
6
在字符串中出现单/双引号的方法:使用转义符号\
7
在字符串中出现很多*的方法:使用原始字符串r(但是最后一个字符不能是\)
如果要在结尾输入*:加一个转义字符和\,例如print(r'C:\a'+'\')
8
得到跨越多行的字符串:使用三重引号字符串''' '''
9
end=" "参数告诉print()用空格代替换行
10
类型转换:int(),float(),str()
11
获得类型:type()
判断类型是否相同:isinstance(当前数据,指定比较类型),返回布尔值
12
判断是否都是数字:str.isdigit()
13
操作符优先级:幂运算>正负号>算数操作符>比较操作符>逻辑操作符
not>and>or
14
短路逻辑:
3 and 4 ==4
3 or 4 == 3
15
assert 断言:后面条件为假时,程序自动崩溃并抛出AssertionError异常。测试程序的时候很好用,当确保某一条件为真才能让程序正常工作时需要。
16
三元操作符:x if 条件 else y
17
成员资格运算符:in,用于检查一个值是否在序列中,如果在序列中返回True,否则返回False
18
for循环语法:
for 目标 in 表达式:
循环体
19
range()语法:
range([start,]stop[,step=1])
range(100,1000) 1000是不包含的
-括号表示参数是可选的
-step=1表示第三个参数的值默认值是1,step指步径,即递增的数
-作用:生成一个从start参数的值开始到stop参数的值结束的数字序列
20
continue功能:终止本轮循环并开始下一轮循环
21
向列表添加元素:
append()只能加一个元素
extend()参数是一个列表
insert(插入的位置,添加的元素)
count()统计某个元素在列表中出现的次数
index()用于从列表中找出某个值第一个匹配项的索引位置
22
从列表获取元素:member[0]
23
从列表删除元素:
remove()括号中填写要删除的具体元素/移除列表中某个值的第一个匹配项
del member[1]
pop(1) 删除并返回被删除的元素。括号中为空则默认删除末尾的元素。
24
列表分片:
member[1:3:2]
3是不包含的
第二个冒号后面表示步长,默认为1,可以为负数表示方向相反,即从尾部开始向左走
可用于拷贝,如member2 = member[:]
25
python支持负数索引:
|正向| 0|1 | 2 |3|4|5|
|-|-|-|
|负向| -6 | -5| -4 |-3|-2|-1|
26
列表翻转:reverse()
27
列表排列:
sort()默认从小到大排列。如果要从大到小,sort(reverse=True)
28
列表推导式(列表解析):
[有关A的表达式 for A in B]
如:list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]
29
元组相比列表来说里面的元素不能被修改,添加或删除
逗号是关键。
30
在元组中添加元素:
temp = temp[:2] + ('aa',) + temp[2:]
31
删除元组:
del temp
32
元组可用方法:
count()计算并返回指定元素的数量
index()寻找并返回参数的索引值
33
格式化:
.format()
位置参数要在关键字参数前面
34
list([iterable]):把一个可迭代对象转换为列表
tuple([iterable]):把一个可迭代对象转换为元组
str(obj):把obj对象转换为字符串
35
max()、min()、sum()方法要保证序列或者参数类型是统一的
sum(iterable[,start=0])返回序列iterable和可选参数start的总和
36
迭代,是重复反馈的过程
37
收集参数
即参数个数是变化的。
用法:*参数名
38
global:用来在函数或者其他局部作用域中使用全局变量。如果不修改全局变量可以不用这个关键字。
nonlocal:用来在函数或其他作用域中使用外层(非全局)变量
39
filter(None/function,iterable):过滤掉false的数据,留下true的数据
40
匿名函数:lanbda
如:g = lambda x:x * 2
41
字典:dict1 = {key:value,...}
或者用dict这个关键字创建映射关系
42
集合:
是唯一且无序的,所以不支持索引
创建方法:
1.把一堆元素用花括号括起来
2.使用set()工厂函数
访问集合中的值:
1.使用For把集合中的数据一个个读取出来
2.通过in和not in判断一个元素是否在集合已经存在
不可变集合:
num1.frozenset([1,2,3,4])
确定集合里有多少个元素:
len()
43
打开文件:
打开文件操作文件对象方法:
文件对象方法44
永久存储:pickle
[存储]
data = open('a.pkl','wb')
pickle.dump(data,pickle_file)
pickle_file.close()
[导出]
pickle_file = open('a.pkl','rb')
data = pickle.load(pickle_file)
45
异常机制:
增强程序的健壮性和用户体验,当异常出现时,程序自动消化并恢复正常(不至于崩溃)
异常处理:
try:
检测范围
except Exception[as reason]
出现异常(Exception)后的处理代码
finally:
无论如何都会被执行的代码
引发异常:
raise 异常类型(‘具体描述‘’)
46
else语句:
1.if-else
要么怎样,要么不怎样
2.while-else
干完了能怎样,干不完就别想怎样(只有在循环正常执行完成后才会执行else语句块的内容)
3.try-except-else
没有问题,那就干吧
47
简洁的with语句:
with open(‘文件名’,‘w’) as f:
........
with会在结束后自动关闭文件,且不用担心文件不存在
如果中途出现异常,会执行清理代码,然后确保文件自动关闭
48
推荐的EasyGUI导入方法:
import easygui as g
49
easygui.textbox函数会在返回的字符串后边追加一个行结束符(“\n”),因此在比较字符串是否发生改变的时候我们需要人工将这个行结束符忽略
50
函数是小写字母开头,类是大写字母开头
51
在python中定义定义私有变量只需要在变量名或函数名前加上“”两个下划线,那么这个函数或变量就会为私有的了
调用私有变量:类名__变量名
52
_name_为main时表示程序作为主程序执行,而不是使用import 作为模块导入
53
init特殊方法只返回None