分享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新手经常遇到的17个错误分析
Jul 30 Python
python开发之thread实现布朗运动的方法
Nov 11 Python
pandas 读取各种格式文件的方法
Jun 22 Python
python实现文本界面网络聊天室
Dec 12 Python
python 产生token及token验证的方法
Dec 26 Python
对Python中class和instance以及self的用法详解
Jun 26 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
Django如何使用redis作为缓存
May 21 Python
python exit出错原因整理
Aug 31 Python
pycharm debug 断点调试心得分享
Apr 16 Python
python入门之算法学习
Apr 22 Python
Python实现Hash算法
Mar 18 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
15个小时----从修改程序到自己些程序
2006/10/09 PHP
解析link_mysql的php版
2013/06/30 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
$()JS小技巧
2007/07/21 Javascript
Mootools 1.2教程 函数
2009/09/15 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
javascript中SetInterval与setTimeout的定时器用法
2015/08/24 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
微信小程序实现搜索历史功能
2020/03/26 Javascript
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
详解Python当中的字符串和编码
2015/04/25 Python
Python语言的变量认识及操作方法
2018/02/11 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
Django 限制访问频率的思路详解
2019/12/24 Python
python实现门限回归方式
2020/02/29 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
刑事附带民事上诉状
2015/05/23 职场文书
微观世界观后感
2015/06/10 职场文书
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python
详解Laravel框架的依赖注入功能
2021/05/27 PHP