分享python函数常见关键字


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 相关文章推荐
Python实现学生成绩管理系统
Apr 05 Python
Python实现的HMacMD5加密算法示例
Apr 03 Python
点球小游戏python脚本
May 22 Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 Python
Flask框架工厂函数用法实例分析
May 25 Python
opencv3/C++实现视频背景去除建模(BSM)
Dec 11 Python
pyenv虚拟环境管理python多版本和软件库的方法
Dec 26 Python
Python终端输出彩色字符方法详解
Feb 11 Python
Python numpy多维数组实现原理详解
Mar 10 Python
django 模型中的计算字段实例
May 19 Python
python 实现Harris角点检测算法
Dec 11 Python
详解Python openpyxl库的基本应用
Feb 26 Python
python和Appium的移动端多设备自动化测试框架
Apr 26 #Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
Python 装饰器(decorator)常用的创建方式及解析
Apr 24 #Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
python使用BeautifulSoup 解析HTML
Apr 24 #Python
Python中npy和mat文件的保存与读取
Apr 24 #Python
python小型的音频操作库mp3Play
Apr 24 #Python
You might like
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
ThinkPHP3.2.2的插件控制器功能简述
2014/07/09 PHP
兼容ie6浏览器的php下载文件代码分享
2014/07/14 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
2019/10/16 PHP
JavaScript中链式调用之研习
2011/04/07 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
js中的setInterval和setTimeout使用实例
2014/05/09 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
2015/03/03 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
Three.js学习之文字形状及自定义形状
2016/08/01 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
vue编写简单的购物车功能
2021/01/08 Vue.js
Python selenium如何设置等待时间
2016/09/15 Python
用Python设计一个经典小游戏
2017/05/15 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
利用Python爬取微博数据生成词云图片实例代码
2017/08/31 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
python求绝对值的三种方法小结
2019/12/04 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
Python列表推导式实现代码实例
2020/09/09 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
Linux如何为某个操作添加别名
2015/02/05 面试题
金鑫耀Java笔试题
2014/09/06 面试题
学习党课思想汇报
2013/12/29 职场文书
高三学生评语大全
2014/04/25 职场文书
师范大学生求职信
2014/06/13 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
个人政治思想总结
2015/03/05 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书
2016年元旦主持词
2015/07/06 职场文书