内置函数:
print(),input(),len(),type(),open(),tuple(),list(),int(),bool(),set(),str()
dir() #查看一个变量所有拥有的方法
id() #变量所在的内存地址
hash() #可不可哈希(对于相同可哈希数据的哈希值在一次程序的执行过程中总是不变的)
作用域相关
`locals()`#返回本地作用域中所有名字
`globals()`#返回全局作用域中所有名字
`global xxx` #定义全局变量
`nonlocal xxx` #定义局部变量
迭代器.__next__()
迭代器 = iter(可迭代的)
迭代器 = 可迭代的.__iter__()
`range(1,11,2)`#隔一个取值(可迭代的,不是一个迭代器)
`callable()` #查看是不是一个函数
例:进度条
import time
for i in range(0, 101, 2):
time.sleep(0.1)
char_num =i//2 #打印多少个'*'
per_str= '\r%s%% : %s\n'%(i,'*' * char_num) if i == 100 else '\r%s%% : %s'%(i,'*' * char_num)#\r : 退格
print (per_str, end='', flush=True) #end = '':打印完不换行 flush = Ture:立即把内容输出到流文件,不做缓存
@自己写的
for i in range(101):
time.sleep(0.1)
l = '\r%s%% : %s' % (i,'*'*i)
print(l,end='')
exec('print(123)')
#可以执行一段看起来是字符串但实际是python的语句,但是没有返回值(处理简单的流程控制)
eval('print(123)')
#可以执行一段看起来是字符串但实际是python的语句,有返回值(处理有结果的)
colde = "print('你好呀!')"
compile(colde,'','exec')
exec(colde)
复数 – complex
数学运算
divmod() #div:除法 mod:取余
print(divmod(5,9))
abs()
round()#保留三位
pow() #
sum()
min()
max()
set() &;求交集 - :求差集
slice(1,5,2)#切片 1~5隔两个取值
print(format(‘test’,’<20’)) #开辟二十个字节空间左对齐
print(format(‘test’,’^20’)) #开辟二十个字节空间居中
@unicode
:万国码(占内存)所以有了utf-8 gbk:国标码,中国制造,不兼容其他国家的语言
@is
和 ==
的区别:is
:比较内存地址,==
:比较数值大小
数据结构:dict,list,tuple,set,str..........
数据类型:int,bool,float,.............
print(bytes('你好',encoding='GBK'))
#unicode转换成GBK的bytes
print(bytes('你好',encoding='utf-8'))
#unicode转换成utf-8的bytes
print(bytearray('你好',encoding='utf-8'))
#在修改字符串的时候节省内存
ord()
#字符按照unicode转数字
chr()
#数字按照unicode转字符
ascii()
#只要是ascii码中的内容就打印出来,不是就转换成\n
print(repr('1'))
#把双引号也打印出来
frozenset()
#frozenset是冻结的集合,它是不可变的
1.frozenset
l = 'adhhjksa'
l = frozenset(l)
print(l)
frozenset({‘a’, ‘s’, ‘d’, ‘k’, ‘j’, ‘h’})
2.zip()
nums = ['flower','flow','flight']
for i in zip(*nums):
print(i)
输出结果:
(‘f’, ‘f’, ‘f’)
(‘l’, ‘l’, ‘l’)
(‘o’, ‘o’, ‘i’)
(‘w’, ‘w’, ‘g’)
l1 = [1,2,3]
l2 = [3,3]
l = zip(l1,l2)
for i in l:
print(i)
输出结果:
(1, 3)
(2, 3)
3.filter()
def is_odd(x):
return x % 2 == 1
ret = filter(is_odd,[1,2,4,3,5,6]) #在指定的函数中进行筛选 == l = [i for i in [1,2,3] if i%2 == 1]
for i in ret:
print(i)
输出结果:
1
3
5
4.map()(abs为筛选条件)
ret = map(abs,[1,2,-4,-3])
for i in ret:
print(i)
输出结果:
1
2
4
3
5.sort:在原列表基础上排序
l = [1,2,3,2]
l.sort() #在原列表基础上排序
print(l)
6.sorted(l)#排完序自己生成一个列表,原列表不变
l = [' ',[1,2],'nijao']
n = sorted(l,key=len)
print(n)
输出结果:
[[1, 2], ’ ', ‘nijao’]
7.lambda :匿名函数
calc = lambda n,m:n**m
print(calc(2,2))
输出结果:
4
dic = {'k1':12,'k2':16,'k3':9,}
a = max(dic,key=lambda k:dic[k])
print(a)
输出结果:
k2
面试题:将((‘a’),(‘b’)),((‘c’),(‘d’))转化成{‘a’:‘c’,‘b’,‘d’}
ret = zip((('a'),('b')),(('c'),('d')))
res = map(lambda tup:{tup[0],tup[1]},ret)
print(list(res))