分享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 相关文章推荐
MySQL最常见的操作语句小结
May 07 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
Mar 02 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
Aug 31 Python
浅谈Python实现贪心算法与活动安排问题
Dec 19 Python
python+ffmpeg视频并发直播压力测试
Mar 06 Python
Python应用领域和就业形势分析总结
May 14 Python
Django基础知识 web框架的本质详解
Jul 18 Python
pygame用blit()实现动画效果的示例代码
May 28 Python
Selenium python时间控件输入问题解决方案
Jul 22 Python
python如何写个俄罗斯方块
Nov 06 Python
python+playwright微软自动化工具的使用
Feb 02 Python
python中tkinter复选框使用操作
Nov 11 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 根据IP地址控制访问的代码
2010/04/22 PHP
使用bcompiler对PHP文件进行加密的代码
2010/08/29 PHP
用php来改写404错误页让你的页面更友好
2013/01/24 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
Extjs入门之动态加载树代码
2010/04/09 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
捕获键盘事件(且兼容各浏览器)
2013/07/03 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
用pywin32实现windows模拟鼠标及键盘动作
2014/04/22 Python
Python进程通信之匿名管道实例讲解
2015/04/11 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
速记Python布尔值
2017/11/09 Python
Python实现Kmeans聚类算法
2020/06/10 Python
Numpy中转置transpose、T和swapaxes的实例讲解
2018/04/17 Python
Python使用MyQR制作专属动态彩色二维码功能
2019/06/04 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
门卫人员岗位职责
2013/12/24 职场文书
高中同学聚会邀请函
2014/01/11 职场文书
七年级英语教学反思
2014/01/15 职场文书
担保书怎么写
2014/04/01 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
离职证明格式样本
2015/06/12 职场文书
Nginx设置日志打印post请求参数的方法
2021/03/31 Servers
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android
Linux中sftp常用命令整理
2022/06/28 Servers