欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python函数知识五 推导式和内置函数一(了解)

程序员文章站 2022-09-27 22:49:49
17.推导式: 推导式:将for循环多行变成一行 1. list推导式:[] 2. 生成器表达器:() 3. 字典/集合推导式:{} list: [变量(加工后的变量) for 循环] [变量(加工后的变量) for 循环 加工条件] 生成器推导式: (变量(加工后的变量 ) for 循环) (变量 ......

17.推导式:

推导式:将for循环多行变成一行

  1. list推导式:[]
#普通模式
print([i for i in range(20)])

#循环模式
    #[变量 for i in range(20)]
print([i+1 for i in range(10)])

#筛选模式
    #[变量(加工后) for i in range(20)]
print([i for i in range(20) if i % 2 == 1])
  1. 生成器表达器:()
#普通模式
print((i for i in range(20)))
#结果:是内存地址 <generator object <genexpr> at 0x0000023ebfa0f048>
g = (i for i in range(20))
print(next(g))
print(next(g))

#筛选模式
g = (i for i in range(50) if i %2 ==1)
for i in g:
    print(i)
  1. 字典/集合推导式:{}
#{}
print({for i in range(10)})#集合
print({i:i+1 for i in range(10)})#字典,键值对

#筛选模式
print({for i in range(10) if i % 2 == 0})
print({i:i+1 for i in range(10) if i % 2 == 0})

list:

[变量(加工后的变量) for 循环]

[变量(加工后的变量) for 循环 加工条件]

生成器推导式:

(变量(加工后的变量 ) for 循环)

(变量(加工后的变量) for 循环 加工条件)

字典推导式:

{键:值 for循环 加工条件}

集合推导式:

{变量 for 循环 加工条件}

18.内置函数一(了解):

  1. eval():将字符串中的数按运算符运算
s = '3+5'
print(eval(s))
s = '3*5'
print(eval(s))

def func():
    print(1)
    return
func()
  1. exec():
s1 = """
def func():
    print(123)
func
"""
print(exec(s))#牛逼,工作中不能使用
  1. hash():获取哈希值
print(hash("lajdsf"))
  1. help():打印源码
print(help(list))
help(list)
  1. callable():判断是否可调用,返回bool
def func():
    pass
print(callable(func))
  1. complex():复数
print(complex(-1))
  1. oct(): 十进制转八进制
  2. hex():十进制转十六进制
print(oct(15))
print(hex(15))
  1. divmod(): 打印商和余数
print(divmod(5,2))
  1. round(): 四舍五入,分奇数偶数,可指定保留小数位
print(2.5)#偶数0~0.5舍,0.51~0.99入
print(5.5)#奇数0~0.49舍,0.5~0.99入
print(5.231,2)#指定保留两位小数。指定保留小数后都是4舍5入
  1. pow():求幂
print(pow(2,3))
print(pow(2,4,3))#先求幂,在除第三个数取余
  1. bytes():
s = 'alex'
print(bytes(s,encoding = 'utf-8'))
  1. ord():
  2. chr()
print(ord("a"))#字母和数字转aci码
print(ord('你'))#汉字是当前使用的编码
print(chr(20320))
  1. repr():-->r防转义#\u 3000代表一个空格
  2. all():判断元素是否都为真
  3. any():判断元素是否有真
lst = [1,2,6,0,2]
print(all(lst))#false
print(any(lst))#true
  1. globals():查看全局空间存在的变量
  2. locals():查看当前空间存在的变量
name = 1
def func():
    a = 123
    print(locals())
    return
print(globals)