python笔记(内置函数2,print,format,很多内置函数)

内置函数:

print(),input(),len(),type(),open(),tuple(),list(),int(),bool(),set(),str()
dir()  #查看一个变量所有拥有的方法
id()   #变量所在的内存地址
hash() #可不可哈希(对于相同可哈希数据的哈希值在一次程序的执行过程中总是不变的)
  1. 作用域相关

    `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

  2. 数学运算

    1. divmod() #div:除法 mod:取余

    2. print(divmod(5,9))

    3. abs()

    4. round()#保留三位

    5. pow() #

    6. sum()

    7. min()

    8. max()

    9. set() &;求交集 - :求差集

    10. slice(1,5,2)#切片 1~5隔两个取值

    11. print(format(‘test’,’<20’)) #开辟二十个字节空间左对齐

    12. print(format(‘test’,’^20’)) #开辟二十个字节空间居中

      @unicode:万国码(占内存)所以有了utf-8 gbk:国标码,中国制造,不兼容其他国家的语言
      @is== 的区别:is:比较内存地址,==:比较数值大小

      数据结构:dict,list,tuple,set,str..........
      数据类型:int,bool,float,.............

    13. print(bytes('你好',encoding='GBK')) #unicode转换成GBK的bytes

    14. print(bytes('你好',encoding='utf-8')) #unicode转换成utf-8的bytes

    15. print(bytearray('你好',encoding='utf-8')) #在修改字符串的时候节省内存

    16. ord()#字符按照unicode转数字

    17. chr()#数字按照unicode转字符

    18. ascii()#只要是ascii码中的内容就打印出来,不是就转换成\n

    19. print(repr('1'))#把双引号也打印出来

    20. 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))

python笔记(内置函数2,print,format,很多内置函数)_第1张图片
8、format(字符串格式化)
python笔记(内置函数2,print,format,很多内置函数)_第2张图片
python笔记(内置函数2,print,format,很多内置函数)_第3张图片
python笔记(内置函数2,print,format,很多内置函数)_第4张图片
python笔记(内置函数2,print,format,很多内置函数)_第5张图片
python笔记(内置函数2,print,format,很多内置函数)_第6张图片

python笔记(内置函数2,print,format,很多内置函数)_第7张图片
python笔记(内置函数2,print,format,很多内置函数)_第8张图片
python笔记(内置函数2,print,format,很多内置函数)_第9张图片
python笔记(内置函数2,print,format,很多内置函数)_第10张图片

你可能感兴趣的:(python基础)