zoukankan      html  css  js  c++  java
  • 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)
     
  • 相关阅读:
    imperva_waf导入ssl证书
    博科光纤交换机初始化配置
    xss测试代码
    生成树注意事项
    [转载]Basics of the Unix Philosophy
    [转载]GSview注册码
    [转载]tar命令详解
    [转载]WinEdt 6 注册 试用期30天永不过期
    [转载+修改]计数排序
    [转载]C++ 关于声明,定义,类的定义,头文件作用,防止头文件在同一个编译单元重复引用,不具名空间
  • 原文地址:https://www.cnblogs.com/Essaycode/p/10087249.html
Copyright © 2011-2022 走看看