数据类型
数据操作
bytes 类型 "".encode() 编码-->二进制
"".decode() 解码
判断字符串里的字符是否全为数字
"".isdigit(), Return True if all characters in S are digits
数据运算:
算数运算: + - * / % ** // //取整除既,整数商的整数部分
比较运算: > < <= >= == != <>
赋值运算、逻辑运算(not、and、or)、成员运算(in、not in)、身份运算(is\is not)
位运算:& | ~ ^ >> <<,右移位 / 2**N,左移位 * 2**N
运算符优先级:
**
~ + -
* / % //
+ -
>> <<
& 位运算
^ |
<= < > >=
<> == !=
= %= /= += -= *= **= //=
is is not
in not in
not and or
List: 使用
list中的坑: x=[1,2,[..],‘a‘]
b=x.copy(), 顶层copy的是值,子层copy的是内存地址(指针)
实现深层次的copy:
import copy
b = copy.deepcopy(x)
##当然这个用得少
python3 input # raw_input没了
range() #xrange没了
****浅copy(),三种方式****
x1 = x.copy()
x1 = x[:]
x1 = list(x)
浅拷贝:共享账号的使用(
p=[‘name‘, [‘save‘, 100]]
p1 = p.copy(),p2 = p.copy()
p1[0] = ‘Luly‘
p2[0] = ‘Lucy‘
p1[1][1] = 50 ###这时两个人的共同财产少了50
)
*******
切片:a[-2:]最后两个
tuple: 和list一样,当然不可改
#######写好代码的首要:多写、多练, 见多识广
enumerate(list),取出list的下标,结果:(0, value1)
字符串:
"".xxx()
Dictionary:
info={}
del(info)
info.pop(key)
info.popitem()随机删除一个
info.get(key)
info.setdefault()
info.has_key()#python2
if key not in info.keys():info.setdefault(key,value1)
>>> c = dict.fromkeys([7,8,9], "test")
>>> c
{8: ‘test‘, 9: ‘test‘, 7: ‘test‘}
fromkeys有坑。value里有嵌套时更新其中一个则全更新。类似深copy
for i in info 效率比 for k,v in info.items()高