• 26-python基础-python3-global语句


    1-global 语句
    • 如果需要在一个函数内修改全局变量,就使用 global 语句。
    • 如果在函数的顶部有 global eggs 这样的代码,它就告诉 Python,“在这个函数中,eggs 指的是全局变
    量,所以不要用这个名字创建一个局部变量。
    1 def spam():
    2     global eggs # 使用global语句修改eggs为全局变量
    3     eggs = 'spam'
    4 eggs = 'global'
    5 spam()
    6 print(eggs)
    7 spam


    2-局部作用域和全局作用域

    • 在被调用函数内赋值的变元和变量,处于该函数的“局部作用域”。
    • 在所有函数之外赋值的变量,属于“全局作用域”。
    • 处于局部作用域的变量,被称为“局部变量”。
    • 处于全局作用域的变量,被称为“全局变量”。
    • 一个变量必是其中一种,不能既是局部的又是全局的。
    3-有 4 条法则,来区分一个变量是处于局部作用域还是全局作用域:
    • 1.如果变量在全局作用域中使用(即在所有函数之外),它就总是全局变量
    • 2.如果在一个函数中,有针对该变量的 global 语句,它就是全局变量
    • 3.否则,如果该变量用于函数中的赋值语句,它就是局部变量
    • 4.但是,如果该变量没有用在赋值语句中,它就是全局变量
     1 def spam():
     2     global eggs
     3     eggs = 'spam' # this is the global
     4 
     5 def bacon(): 
     6     eggs = 'bacon' # this is a local
     7 
     8 def ham():
     9     print(eggs) # this is the global
    10 
    11 eggs = 42 # this is the global
    12 spam()
    13 print(eggs)
  • 相关阅读:
    HDU 4757 Tree 可持久化字典树 trie
    BZOJ 4198: [Noi2015]荷马史诗 哈夫曼树 k叉哈夫曼树
    BZOJ 3253 Fence Repair 哈夫曼树 水题
    BZOJ 3572: [Hnoi2014]世界树 虚树 树形dp
    2-SAT的一些题目
    二分图相关定理 最小点覆盖 最小路径覆盖 最大独立集 最小覆盖集
    POJ 1469 COURSES 二分图最大匹配 二分图
    快速排序
    排序算法:希尔排序
    霍夫曼编码实现
  • 原文地址:https://www.cnblogs.com/summer1019/p/11346231.html
Copyright © 2020-2023  润新知