Posted in Python onApril 26, 2022
1.global关键字
默认情况下,在局部作用域对全局变量只能进行:读取,修改内部元素(可变类型),无法对全局变量进行重新赋值
读取:
CITY=['北京','上海']
def func():
print(CITY) # ['北京','上海']
func()
修改内部元素(可变类型)
CITY=['北京','上海']
def func():
CITY.append('安徽')
print(CITY) # ['北京','上海','安徽']
func()
print(CITY) # ['北京','上海','安徽']
无法对全局变量重新赋值
CITY=['北京','上海']
def func():
CITY=['安徽']
print(CITY) #['安徽']
func()
print(CITY) # ['北京','上海']
如果想在局部作用域对全局变量重新赋值,基于global关键字实现
CITY=['北京','上海']
def func():
global CITY=['安徽']
print(CITY) #['安徽']
func()
print(CITY) #['安徽']
2.nolocal关键字
将上一级作用域的变量重新赋值
name = 'root'
def outer():
# name=123
name = '你好'
def func():
# 将又上一级变量name重新赋值为123
nonlocal name
# name=123
name = "wxy"
def inner():
#将上一级变量name重新赋值为123
nonlocal name
name = 123
inner()
print(name)
func()
print(name)
outer()
print(name)
# 123
# 123
# root
3.yield from
python3.3引入yield from
在yield函数中调用其它的yield函数
def func():
yield 2
yield 2
def func1():
yield 1
yield 1
yield from func()
yield 1
from i in func1():
print(1)
到此这篇关于python函数常见关键字分享的文章就介绍到这了!
分享python函数常见关键字
- Author -
荼靡,- Original Sources -
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@