• day7-1


    局部变量与全局变量:

    1.前后引用:

     1 import time
     2 
     3 def test1(**kwargs):
     4     print(kwargs)
     5     looger()
     6 
     7 test1(name = 'ri',age = 1)  # NameError: name 'looger' is not defined 注意函数先后引用的问题
     8     
     9 def looger():  # 按格式打印时间
    10     "print time"
    11     time_formakes = "%Y-%m-%d %X"
    12     time_current = time.strftime(time_formakes)
    13     print(time_current)
    14 
    15 # 如果内存中已经存在looger函数,那么可以在任何位置调用,如果没有,则必须在函数定义后调用

    2.局部变量和全局变量

     1 def change_name(name):
     2 
     3     print("before name:",name)
     4     name = 'Ri'# 局部变量,这个函数就是这个变量的作用域
     5     print("after name:",name) 
     6     
     7 
     8 name = 'Rich'
     9 change_name(name)
    10 print("now name:",name)
    11 
    12 '''
    13 before name: Rich
    14 after name: RI
    15 now name: Rich
    16 '''
    17 # 可以把代码理解成一个个层次分明的模块,局部变量在最顶层是全局变量。
    18 # 如果在函数内部想定义全局变量,可以使用global 定义  global name1
    19 #                                                  name1 = 'sd'
    20 

    3. 不要试图在函数中改变局部变量为全局变量,否则来回调用时容易出错

    1 def change_name():
    2     global name
    3     name = 'as'
    4 
    5 change_name()
    6 print(name)
    7 # as  不要使用这种方法

    4.修改列表,集合,字典等数据类型可以在局部改变全局

    name = ['sam','xiaoming','wukong']
    
    def change():
        "test"
        name[0] = 'QWER'
        print(name)
    
    change()
    print(name)
    
    # =============================================================================
    # ['QWER', 'xiaoming', 'wukong']
    # ['QWER', 'xiaoming', 'wukong']
    # =============================================================================

    在子程序中定义的变量成为局部变量,在最高层定义的变量为全局变量

    全局变量的作用域是整个程序,局部变量的作用域是定义该变量的子程序

    当全局变量与局部变量同名时。在定义局部变量的子程序离,局部变量起作用,其他地方全局变量起作用

  • 相关阅读:
    java8关于list的操作
    jdk8的.toMap()
    Mybatis中报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题解决
    springboot集成bootstrap遇到的问题
    java文件下载
    idea中mybatis自动生成代码方式
    文件读写操作inputStream转为byte[] , 将InputStream写入本地文件
    Polar transformer networks
    Fine-Grained Person Re-identification
    Person Re-identification by Contour Sketch under Moderate Clothing Change
  • 原文地址:https://www.cnblogs.com/yfjly/p/9724613.html
Copyright © 2020-2023  润新知