-整数类型的无限范围及4种进制表示
十进制,二进制 0b/0B开头,八进制 0o/0O开头
十六进制 0x/0X开头
-浮点数类型的近似无限范围、小尾数、科学计数法
取值范围数量级:-10307~10308,精度数量级为10-16
-数值运算操作符
/ 除 // 整数除 % 模运算
X ** y x的y次方,y为小数时是开方
增强操作符:+=、-=、*=、/=、//=、%=、**=
-数值运算操作函数
abs( x ) x的绝对值
divmod( x, y ) 商余,同时输出商和余数 ( x//y, x%y )
pow( x, y, [,z] ) 幂余,(x**y)%z, z可省略
round( x [,d] ) 四舍五入,d为保留小数位数,默认为0
max(x1,x2,x3,,,xn)、min(x1,x2,x3,,,xn)
int(x) 将x变成整数,舍弃小数部分
float(x) 将x变成浮点数,增加小数部分
complex(x) 将x变成复数,增加虚数部分
-表示
“用双引号表示”
‘用单引号也行’
‘’’用三个单引号也行,而且能表示多行,也可以做注释’’’
“””三双引号也可以”””
-正向递增序号、反向递减序号、<字符串>[M:N:K]
0~n-1
-n~-1
索引:<字符串>[M]
切片:<字符串>[M:N],表示从M~N-1,M缺失表示至开头,N缺失表示至结尾
<字符串>[M:N:K],表示步长为K进行切片,字符串逆序 [::-1]
转义字符 \
-字符串操作符
X + y :连接两个字符串x和y
N * x 或者x * n :复制n次字符串x
X in s :如果x是s子串返回True,否则返回False
-字符处理函数
len(x) 返回字符串x的长度
str(x) 任意类型x所对应的字符串形式,相当于加引号
hex(x) 整数x的十六进制小写形式字符串
oct(x) 整数x的八进制小写形式字符串
ord(x) x为字符,返回其Unicode编码
chr(u) u为Unicode编码,返回其对应字符串
-字符串处理方法
str.lower() 使str串全变成小写
str.upper() 使str串全变成大写
str.split(sep = None) 返回一个列表,由str根据sep被分隔的部分组成
str.count(sub) 返回子串sub在str中出现的次数
str.replace(old,new)返回str副本,所有old子串被替换为new
str.center(width[,fillchar])字符串根据width宽度居中,两边填充 fillchar字符串
str.strip(chars) 从str的左右两侧删除chars中列出的字符(无顺序)
str.join(iter)在变量iter每两个元素中间添加一个str分隔开
str.format(<参数>)格式化,str中假如槽{ } 把参数挨个放进去
-单分支结构
if <条件> :
<语句块>
-二分支if-else及紧凑形式
if<条件> :
<语句块1>
else :
<语句块2>
紧凑型式:<表达式1>if<条件>else<表达式2>
-多分支 if-elif-else 及条件之间关系
if<条件1>:
<语句块1>
elif<条件2>:
<语句块2>
else:
<语句块3>
-not and or > >= == <= < !=
-异常处理 try-except-else-finally
try:
<语句块1>
except:
<语句块2>
else:
<语句块3>
finally:
<语句块4>
(else对应语句块3在不发生异常时执行)
(finally对应的语句块4一定发生)
-for…in 遍历循环:计数、字符串、列表、文件……
for <循环变量> in <遍历结构> :
<语句块>
-while 无限循环
while <条件>
<语句块>
-continue 和 break 保留字:退出当前循环层次
-循环else的高级用法:与break有关,else语句作为正常完成循环的奖励
-使用保留字def定义函数、lambda定义匿名函数
def <函数名> (<参数(0个或多个)>) :
<函数体>
return <返回值>
<函数名> = lambda <参数> : <表达式>
-可选参数(赋初值)、可变参数(*b)、名称传递
参数可以指定默认值作为可选参数
def <函数名> (<非可选参数>,<可选参数>) :
<函数体>
return <返回值>
可以定义可变数量参数
def <函数名> (<参数>, *b) :
<函数体>
return <返回值>
-保留字return可以返回任意多个结果
-在函数中使用保留字global声明使用全局变量,一些隐式规则
局部变量为组合数据类型且未创建,等同于全局变量
-集合使用{}和set() 函数创建
-集合间操作:交(&)、并(|)、差(-)、补(^)、比较(>=<)
-集合类型方法:
S.add(x) 如果x不在集合S中,将x增加到S
S.discard(x) 移除S中元素x,如果x不在集合S中,不报错
S.remove(x) 移除S中元素x,如果x不在集合S中,产生KeyError异常
S.clear() 移除S中所有元素
S.pop() 随机返回S的一个元素,更新S,若S为空产生KeyError异常
S.copy() 返回集合S的一个副本
len(S) 返回集合S的元素个数
x in S 判断S中元素x, x在集合S中,返回True,否则返回False
x not in S 判断S中元素x,x不在集合S中,返回True,否则返回False
set(x) 将其他类型变量x转变为集合类型
-集合类型主要应用于:包含关系比较、数据去重
-序列是基类类型,扩展类型包括:字符串、元组和列表
序列是一维元素向量,元素类型可以不同
使用下标访问,正向递增序号、反向递减序号
-序列类型通用操作符与通用函数和方法
x in s x是s的元素返回True
x not in s x不是s的元素返回True
s + t 连接s和t
s * n 或 n * s 将s复制n次
s[i] 索引
s[i:j:k] 切片
len(s) 返回s的长度
min(s) 返回s中最小元素(需要可比较)
max(s) 返回s中最大元素(需要可比较)
s.index(x)或s.index(x,i,j) 返回s中从i到j第一次出现x的位置
s.count(x) 返回s中出现x的总次数
-元组是序列类型,一旦创建不能被修改。元组用()和tuple()创建,元素间用逗号分隔。可以使用或者不使用小括号。
-列表是序列类型,可以被修改。列表用 [] 和set()创建,用逗号分隔。列表中各元素类型可以不同,无长度限制。
-列表操作在序列操作基础上,增加了更多的灵活性
ls[i] = x 第i个元素替换为x
ls[i:j;k] = lt 用lt替换ls切片后的元素列表
del ls[i] 删除第i个元素
del ls[i:j:k] 删除对ls切片的元素
ls += lt 将lt加到ls中
ls *= n ls重复n次
ls.append(x) ls最后增加一个x
ls.clear() 删除ls中所有元素
ls.copy() 生成一个新列表,赋值ls中所有元素
ls.insert(i, x) 第i个位置增加元素x
ls.pop(i) 取出并删除第i个位置元素
ls.remove(x) 将第一个x删除
ls.reverse() 将ls反转
-映射关系采用键值对表达
-字典类型使用 { } 和dict()创建,键值对之间用 : 分隔
{<键1>:<值1>, <键2>:<值2>, …, <键3>:<值3>}
-d[key] 方式既可以索引,也可以赋值
-字典类型有一批操作方法和函数,最重要的是 .get()
del d[k] 删除k所对应的的数据值
k in d 键k在字典中返回True
d.keys() 返回字典d中所有键信息
d.values() 返回字典d中所有值信息
d.items() 返回字典d中所有键值对信息
d.get(k,
d.pop(k,
d.popitem() 随机取出一个键值对,以元组形式返回
d.clear() 删除所有键值对
len(d) 返回d中元素个数
-文件的使用方法:打开-操作-关闭
-文本文件&二进制文件,open( , ) 和 .close()
-文件内容的读取:.read()、.readline()、.readlines()
-数据的文件写入:.write()、.writelines()、.seek()
-数据的维度:一维、二维、多维、高维
-一维数据的表示:列表类型(有序)和集合类型(无序)
-一维数据的存储:空格分隔、逗号分隔、特殊符号分割
-一维数据的处理:字符串方法 .split() 和 .join()
-二维数据的表示:列表类型,其中每个元素也是一个列表
-CSV格式:逗号分隔表示一维,按行分隔表示二维
-二维数据的处理:for循环+ .split() 和 .join()