global 关键字可以将局部变量变成一个全局变量
def hanshu():
global a
a=10
hanshu()
print(a)
nonlocal关键字可以修改外层(非全局)变量
def hsw():
a=9
def hsn():
nonlocal a
a=98
print("我是内部",a)
hsn()
print("我是外部",a)
hsw()
abs() 函数,求数字绝对值
a=-1
b=2
print(abs(a))
print(abs(b))
结果:1 2
max() 求最大值
a=[1,2,3,4,5,6]
x=max(a)
print(x)
结果:6
map() 函数:有两个参数,第一个参数时一个函数,第二个参数时可迭代的内容。函数会依次作用在可迭代内容的每一个元素上进行计算,然后返回一个新的可迭代内容。
def hs(x):
return x*x
a=[1,2,3]
b=map(hs,a)
print(list(b))
结果:[1, 4, 9]
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断。然后返回 Trule 或 False ,最后将返回 Trule 的元素放到新列表中。
def gl(a):
if a%3==0 or a%7==0:
return True
else:
return False
a=[1,2,3,4,5,6,7,8,9,10]
b=filter(gl,a)
print(list(b))
结果:[3, 6, 7, 9]
zip() 函数接收任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple,然后返回一个可迭代的 zip 对象,这个可迭代对象可以使用循环的方式列出其元素,若多个可迭代对象的长度不一致,则所返回的列表域长度最短的可迭代对象相同。
a=[1,2,3]
b=['a','b','c','d']
c=zip(a,b)
for x in c:
print(x)
结果:(1, ‘a’)
(2, ‘b’)
(3, ‘c’)
lambda表达式也会产生一个新的局部作用域,在 def 定义的函数中嵌套 lambda 表达式, lambda 表达式能够看到所有 def 定义的函数中可用的变量。
a=[{'name':"a",'age':19},{'name':'b',"age":29},{'name':'C','age':9}]
b=max(a,key=lambda x:x['age'])
print(b)
结果:{‘name’: ‘b’, ‘age’: 29}