python学习【第三天】

nonlocal用法

name = 'alex' #name=‘lhf’
def change_name():
    name='lhf'
    # global name
    # name = 'lhf'
    # print(name)
    # name='aaaa' #name='bbb'
    def foo():
        #name = 'wu'
        nonlocal name
        name='bbbb'
        print(name)
    print(name)  #输出函数中的对应缩进的变量
    foo()  #输出调用函数变量
    print(name) #输出调用函数变量

change_name()
print(name) #输出全局变量
'''
lhf
bbbb
bbbb
alex
'''

风湿理论:函数即变量

#高阶函数1。函数接收的参数是一个函数名  2#返回值中包含函数
# 把函数当作参数传给另外一个函数
# def foo(n): #n=bar
#     print(n)
#
# def bar(name):
#     print('my name is %s' %name)
#
# # foo(bar)
# # foo(bar())
# foo(bar('alex'))

#返回值中包含函数
def bar():
    print('from bar')
def foo():
    print('from foo')
    return bar
print('0'*20)
c=bar()
print('1'*20)
n=foo()
print('2'*20)
print(n)
print('3'*20)
n()
def hanle():
    print('from handle')
    return hanle
print('4'*20)
h=hanle()
print('5'*20)
h()

def test1():
    print('from test1')
def test2():
    print('from handle')
    return test1()
print('6'*20)
s=test2()
print('7'*20)
print(s)

'''
00000000000000000000
from bar
11111111111111111111
from foo
22222222222222222222
<function bar at 0x00000000005CC1E0>
33333333333333333333
from bar
44444444444444444444
from handle
55555555555555555555
from handle
66666666666666666666
from handle
from test1
77777777777777777777
None
'''

递归:

匿名函数:

编程方法论

1、面向过程

2、函数式

3、面向对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值