函数进阶

# # 内置函数

# enumerate() # 枚举 将下标与元素一一对应

# eval() # 转换表达示,可以直接将数据进行计算,也可以进行加密

# filter() # 过滤,筛选不要的数,例如我有很多数据,我要过滤不要的数据,就用此函数

'''

def func(x):

return x >=5

li = [1,2,8,7,58,56,59]

a = tuple(filter(func,li))

print(a) # (8, 7, 58, 56, 59)

'''

# map() # 方式和上面一个差不多,作用不同

# zip() # 配对

'''

l1 = [1,3,5,7,9,6]

l2 = [3,5,7,8,9,5,4,3]

'''

# name = 'qingjiu'

# def tongyao():

#    name = 'laowang' # 在函数里面定义的变量,影响不到函数外面的变量

#    print(name)    # name 变量名只能在定义的函数里面去使用

# tongyao()

# print(name)

# # 作用域,变量必须在前面,后面才是函数

# name1 = 'qingjiu'

# def tongyao():

#    name = 'laowang' # 在函数外面的变量,叫全局变量,在函数里面的变量叫局部变量

#    print(name1)  #qingjiu 全局外面的变量能用在函数里面

# tongyao()

'''

在系统里面的变量不能使用时,必须用global声明后,并且要在变量的下一层缩进才能使用x = 123

def func():

global  x

    x += 1 # x 是系统带的不能直接使用,必须加上global后,x的变量才能使用return  x

a = func()

print(a) # 124

'''

# # 在函数里面的变量不能使用时,必须用nonlocal声明后,并且在变量的下一层缩进才能使用

# def func1():

#    x = 123

#    def func2():

#        nonlocal x # 是函数里面带的变量不能直接使用,必须加上nonlocal后,变量才能使用

#        x = x +1

#        print(x)

#    func2()

# func1()

'''

lambda  参数:表达式'''

# def func(a):

#    return  a**2

# print(func(3)) # 9

'''  简化代码g = lambda a:a**2

print(g(3)) # 9

'''

# # 大于4的数

# li = [1,2,3,4,5,6,7,8,9]

# print(list(filter(lambda x:x>4,li))) # [5, 6, 7, 8, 9]

'''

筛选100以内2的倍数'''

# # 匿名函数 i=lambda a:a**2 print(i(4))就是将4传到a,结果等于16

# range(101)

# a = filter(lambda  x:True if x%2==0 else False,range(101))

# print(list(a))

# # 闭包

# def func():

#    def func1():

#        return 'hello'

#    return  func1

# # 外层函数返回内层函数的引用,内层函数调用外层函数的变量

# print(func()())

'''

li = []

for i in range(5):

    def func():

        return i

    li.append(func)

for f in li:

    print(f()) # 结果是4行3

'''

# li = []

# for iin range(4):

#     def func(i):

#         def func1():

#             return i

#        return func1

#     li.append(func(i))# 调用func这个函数的时候还保存i的值

# for fin li:

#     print(f())# 结果是4行0到3

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容