• Python随心记--局部变量与全局变量


    局部变量与全局变量
    全局变量变量名全部大写,局部变量变量名全部小写
    顶头写的觉全局变量
    在子程序里面写的叫局部变量
    无global的时候优先读取局部变量,且无法对全局变量重新赋值,注:如果是可变类型变量是可以改变的
    name='liyifan'   #全局变量
    def chang_name():
        global name   #加上这句将会改变全局变量的值
        name='achun'   #局部变量 如果前面加上global关键字,则这里是修改全局变量的值
        print('chang_name',name)
    chang_name()
    name = 'lin'
    def test():
        name = 'wu'
        def tests():
            nonlocal name   #取上一级的name = 'wu'
            name = 'wupangpang'
        tests()
        print(name)
    print(name)
    test()
    print(name)
    递归
    必须有一个明确的结束条件
    每次进入更深一层递归时,问题规模相比上一次应当相应减少
    
    
    def calce(n);
        print(n)
        calce(n)
    calce(10)    #死循环
    
    
    def calc(n):
        print(n);
        if int(n/2) == 0:
            return n
        return calc(int(n/2))
    calc(10)
    import time
    
    person_list=['摩西','马克思','小米','爱丽丝']
    def ask_way(person_list):
        print('-',60)
        if len(person_list)  == 0:   #删除完了全部列表数据,这里就会是0
            return '没人知道'
        person = person_list.pop(0)   #删除列表的第一个
        if person == 'momo':
            return '%ssay:I know, just go ahead and turn left.' %person
        print('hi! [%s],Could you tell me how to get XXXX?' %person)
        print("%sanswer:I don't know. You wait for me to ask for you.%s..." %(person,person_list))
        time.sleep(3)   #睡上3秒在去问下一个
        return ask_way(person_list)
    
    res = ask_way(person_list)
    print(res)
     
  • 相关阅读:
    CENTOS7下安装REDIS
    金融量化之tushare模块的使用
    fiddler抓包出现错误 creation of the root certificate was not successful
    matplotlib学习
    Android-消息处理学习总结(Handler,Looper)
    Android-View的绘制源码学习总结
    数据库练习
    编译原理实验一
    图形学
    资源分配(分组背包)
  • 原文地址:https://www.cnblogs.com/Essaycode/p/10087249.html
Copyright © 2020-2023  润新知