day13 内置函数一

今日主要内容:

一 .内置函数

 内置函数  : Python直接提供给我们的 

作用域相关的 locals() 返回当前作用域的名字

       globals() 返回全局作用域

与迭代器相关的 : range() 生成数据

          next() 迭代器向下执行一次,内部实际使用了__next__()方法返回迭代器的下一个项目              iter() 或取迭代器,内部实际使用的是__iter__()方法或取迭代器

字符串类型代码的执行 eval  :执行字符串类型的代码,并返回最终结果

       相当于把字符串里面的内容执行 ,有返回值

print(eval('2+2'))
n=8
print(eval('2+n'))

def func():
    print('666')

eval('func()')  #666

 exec()  执行字符串类型的代码 (没有返回值)

exec("""
for i in range(10):
 print(i)
""")
exec("""
def func():
 print("我是周杰伦")
func()
""")

 compile() 将字符串类型的代码编译,代码对象能够通过exec语句来执行或者eval()进行求值

'''
 参数说明:
 1. resource 要执行的代码, 动态代码片段
 2. 文件名, 代码存放的文件名, 当传入了第一个参数的时候, 这个参数给空就可以了
 3. 模式, 取值有3个,
 1. exec: 一般放一些流程语句的时候
 2. eval: resource只存放一个求值表达式.
 3. single: resource存放的代码有交互的时候. mode应为single
'''
code1 = "for i in range(10): print(i)"
c1 = compile(code1, "", mode="exec")
exec(c1)
code2 = "1+2+3"
c2 = compile(code2, "", mode="eval")
a = eval(c2)print(a)
code3 = "name = input('请输入你的名字:')"
c3 = compile(code3, "", mode="single")
exec(c3)
print(name)

  注: 有返回值的字符串形式的代码用eval() ,没有返回值的字符串形式的代码用exec().一般很少用到compile()

关于数字运算的   :  sum()  max()  min() 都必须是可迭代的对象  abs()绝对值

divmod(a,b) 计算商和余数 10/3=a...b

round(小数) 整数是奇数 ->四舍五入

       整数是偶数-> 五舍六入

pow(2,4)--> 2的4次方

all()  类比于and记

any() 类比于or记

拉链函数 zip()

l1=[1,2,3]
l2=[4,5,6]
l3=[7,8,9]
z=zip([l1,l2,l3])
for i in z:
    print(i)  # 结果(1,4,7)  (2,5,8)  (3,6,9)

二 .lambda匿名函数  (简单的函数用,复杂的函数不要用)

计算n的 n次方
def func(n):
    return n**n
print(func(10))

fn=lambda n : n**n
print(fn(10)) # 与上面的结果一样  

 语法 :  函数名=lambda  参数(a,b) : 返回值

 三.sorted   排序函数

 语法 :  sorted(你要循环的内容,key=函数名,renerse='T or F')   

Iterable: 可迭代对象
key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函
数的参数. 根据函数运算的结果进行排序

reverse: 是否是倒叙. True: 倒叙, False: 正序

 四.map 映射函数

语法 map(function,iterable) 可以对可迭代对象中的每一个元素进行映射.分别取执行function

计算列表中每个元素的平方 ,返回新列表

def func(e):
    return e**e

m=map(func,[1,2,3,4])
print(m)
print(list(m))

  

 五.filter 筛选函数  (过滤)

 filter(function,iterable)

function: 用来筛选的函数. 在filter中会自动的把iterable中的元素传递给function. 然后
根据function返回的True或者False来判断是否保留此项数据
Iterable: 可迭代对象

原文地址:https://www.cnblogs.com/zty1304368100/p/10109001.html