十六进制:
>>> a=100
>>> hex(a)
'0x64'
八进制:
>>> a=100
>>> oct(a)
'0o144'
二进制:
>>> a=100
>>> bin(a)
'0b1100100'
ord()函数
Return the Unicode code point for a one-character string
>>> ord('A')
65
>>> ord('Z')
90
>>> ord('a')
97
>>> ord('z')
122
>>> ord('1')
49
>>> ord('9')
57
集合的并集 |,差集 -,交集 &,对称差集 ^
>>> s1={1,2,3}
>>> s2={2,3,4}
>>> s1-s2
{1}
>>> s1|s2
{1, 2, 3, 4}
>>> s1&s2
{2, 3}
>>> s1^s2
{1, 4}
>>>
format函数,保留小数有效位数。
[ : .2f ] 保留两位小数。
>>> a=3.141592653
>>> print('圆周率:{:.3f}'.format(a))
圆周率:3.142
def foo(x,lst=[]):
lst.append(x)
return lst
res1=foo(1)
res2=foo(2,[])
res3=foo(3)
print('res1:',res1)
print('res2:',res2)
print('res3:',res3)
输出:
res1: [1, 3] #在这里考察了,默认参数如果是可变类型的一个陷阱。
res2: [2] #还尽管前后两次赋值,但是res1和res3实际上指向了同一个内存地址,所以毫无疑问,它们的值必然是相等的。
res3: [1, 3] #注意,变量名的赋值,都是指向同一个内存地址,本质上没有什么区别。养成这样一种习惯,尽管用的是变量名,但是看到的确实内存中的地址。
d=dict(x=1,X=2,y=3,z=4,A=1),将字典中,大写都变为小写,小写相同的合并。
dd={}for key ind:
dd[key.lower()]=d.get(key.lower(),0)+d.get(key.upper(),0)print(dd)
还可以写成集合推导式
dd={key.lower():d.get(key.lower(),0)+d.get(key.upper(),0) for key in d } #字典可以通过key值修改,通过key值覆盖相同的key值之前的数据。