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)
     
  • 相关阅读:
    0.3 CMD常用命令!以及用CMD显得自己高大上
    1.0 配置JAVA环境和Maven环境(W10注意点)
    2.1 Oracle之DML的SQL语句之单表查询以及函数
    hBase
    2.0 flume、sqoop、oozie/Azkaban
    Hive
    MapReduce和yarn
    HDFS
    1.0 Hadoop的介绍、搭建、环境
    asp.net core系列 43 Web应用 Session分布式存储(in memory与Redis)
  • 原文地址:https://www.cnblogs.com/Essaycode/p/10087249.html
Copyright © 2011-2022 走看看