变量
- 命名必须以字母或者下划线(_)开头,区分大小写,可以是任意长度。
- 同一变量可以随时改变存储的类型 ## 赋值
- 运算符
== += -= *= /= %= **= //= (like you wish) - 赋值是存引用而不是复制
基本数据类型
数类型
分类
整数类型(int),浮点数类型(float) ### 运算符
+ - * / % __(幂)__ //(整除)**
注意(int)/(int)=(float)
布尔类型
可能值
True 和 Flase ### 运算符(逻辑运算符) and or not ### 作为比较运算符的结果 <
>
<=
>=
==
!=
集合类型
分类
- 有序集合
- 列表(可改变)([])
- 字符串(不可改变)
- 元组(不可改变)(())
- 无序集合
- 集({})
- 字典({:,:,...,:})
方法
- 共有
- 询问是否在内in
(返回bool)
- 长度.len
- 移除.remove(item)
- 删除del
- 前操作符,删掉后面那个元素 e.g.
1
del alist[i] #删掉alist的第i个元素
- 前操作符,删掉后面那个元素 e.g.
- 询问是否在内in
- 有序集合
- 不改变受操作的类的方法
- 索引[]
- 从0开始
- 可以为负数-n,此时等效于索引值为长度-n(e.g. a[-1]就是a的最后一个)
- 连接+
- 连接是拷贝的连接
- 重复*
- 重复是引用的重复
- 切片[a:b:step]
- 切片范围为[a,b)
(这是个区间)(当a>b时就是[b,a)),步长为step - a、b、step皆可省略
a默认0,b默认末尾,step默认1 - a、b、step皆可为负数
a、b负数含义同索引,a<b时从左往右取,此时step强制为正,a>b时反之(此时的大于小于是将可能为负数的ab等价为正数后的比较)
- 切片范围为[a,b)
- 查找第一次下标.index(item)
- 查找出现次数.count(item)
- 索引[]
- 改变受操作的类的方法
- 插入尾部.append(item)
- 插入.insert(i,item)
- 将该item插在i位置(即原来在i的元素退到i+1)
- 删除.pop(i)
- 删除i位置的元素,默认值是末尾(pop嘛)
- 返回被删除的元素
- 排序.sort()
- 反转.reverse()
- 字符串
- 为居中填充2边.center(w)
- 靠左填充.ljust(w)/靠右填充.rjust(w)
上述:- 使其总长度为w
- 填充空格
- 查找第一次下标.find(item)
- 字母小写化.lower()/字母大写化.upper()
- 划分.split(item)
- 默认值为分割空格、回车符、制表符等空白符
- 在item处划分
- 划分结果不含item
- 返回划分成段的列表
- 格式化%
- e.g.
1
"I'm %s. I'm %d year old" % ('Hom', 30) #"I'm Hom. I'm 30 year old"
- 占位符
- %s 字符串 (采用str()的显示)
- %r 字符串 (采用repr()的显示)
- %c 单个字符(chr()函数转换)
- %b 二进制整数(只能用于字符串format方法和format函数,%不能用.)
- %d和%i 十进制整数(带符号)
- %u 十进制整数(不带符号)
- %o 八进制整数
- %x和%X 十六进制整数, 区别在于输出时大小写.
- %e和%E 指数 (基底写为e或E)
- %f和%F 浮点数
- %g和%G 指数(e/E)或浮点数 (根据显示长度), 即%e和%f自动判断
- %% 输出字符% 进一步的格式化见别人的博客,不赘述
- e.g.
- 不改变受操作的类的方法
- 无序集合
- 集
- 交|(.union(otherSet))
- 并&(.intersection(otherSet))
- 差-(.difference(otherSet))
- 上述返回操作后的新集合
- 询问包含<=(.issubset())
- 添加.add(item)
- 移除.pop()
- 随机移除一个😓
- 清空.clear()
- 字典
- 索引[](.get(i,alt))
- 若不存在返回alt对象,默认为None
- 返回所有键(索引)的列表.keys()
- 返回所有值的列表.values()
- 索引[](.get(i,alt))
- 集