随笔 -
200, 文章 -
0, 评论 -
0, 引用 -
0
1-global 语句
如果需要在一个函数内修改全局变量,就使用 global 语句。
如果在函数的顶部有 global eggs 这样的代码,它就告诉 Python,“在这个函数中,eggs 指的是全局变
量,所以不要用这个名字创建一个局部变量。
1 defspam():2 globaleggs # 使用global语句修改eggs为全局变量3 eggs = 'spam'
4 eggs = 'global'
5 spam()6 print(eggs)7 spam
2-局部作用域和全局作用域
在被调用函数内赋值的变元和变量,处于该函数的“局部作用域”。
在所有函数之外赋值的变量,属于“全局作用域”。
处于局部作用域的变量,被称为“局部变量”。
处于全局作用域的变量,被称为“全局变量”。
一个变量必是其中一种,不能既是局部的又是全局的。
3-有 4 条法则,来区分一个变量是处于局部作用域还是全局作用域:
1.如果变量在全局作用域中使用(即在所有函数之外),它就总是全局变量。
2.如果在一个函数中,有针对该变量的global 语句,它就是全局变量。
3.否则,如果该变量用于函数中的赋值语句,它就是局部变量。
4.但是,如果该变量没有用在赋值语句中,它就是全局变量。
1 defspam():2 globaleggs3 eggs = 'spam' #this is the global
4
5 defbacon():6 eggs = 'bacon' #this is a local
7
8 defham():9 print(eggs) #this is the global
10
11 eggs = 42 #this is the global
12 spam()13 print(eggs)
posted on
2019-08-13 15:32
Summer儿
阅读(1829)
评论(0)
编辑
收藏
Powered by:
博客园
Copyright © 2020 Summer儿
Powered by .NET 5.0.0 on Kubernetes