分享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两种遍历字典(dict)的方法比较
May 29 Python
python调用新浪微博API项目实践
Jul 28 Python
Python中的高级数据结构详解
Mar 27 Python
举例讲解Python中的迭代器、生成器与列表解析用法
Mar 20 Python
python爬虫爬取快手视频多线程下载功能
Feb 28 Python
python在每个字符后添加空格的实例
May 07 Python
win10下tensorflow和matplotlib安装教程
Sep 19 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
python3安装crypto出错及解决方法
Jul 30 Python
Python装饰器用法与知识点小结
Mar 09 Python
jupyter notebook tensorflow打印device信息实例
Apr 20 Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 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
安装APACHE
2007/01/15 PHP
PHP对象递归引用造成内存泄漏分析
2014/08/28 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
jQuery 使用个人心得
2009/02/26 Javascript
JavaScript游戏之优化篇
2010/11/08 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
Jquery异步请求数据实例代码
2011/12/28 Javascript
json格式的时间显示为正常年月日的方法
2013/09/08 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
Javascript让DEDECMS告别手写Tag
2014/09/01 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
在页面中输出当前客户端时间javascript实例代码
2016/03/02 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
JavaScript中的Number数字类型学习笔记
2016/05/26 Javascript
jQuery实现的跨容器无缝拖动效果代码
2016/06/21 Javascript
基于KO+BootStrap+MVC实现的分页控件代码分享
2016/11/07 Javascript
微信小程序网络请求wx.request详解及实例
2017/05/18 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
JavaScript new对象的四个过程实例浅析
2018/07/31 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
python多线程编程中的join函数使用心得
2014/09/02 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
详解python 破解网站反爬虫的两种简单方法
2020/02/09 Python
如何一键升级Python所有包
2020/11/05 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
Html5 APP中监听返回事件处理的方法示例
2018/03/15 HTML / CSS
销售人员个人求职信
2013/09/26 职场文书
怎么写好自荐信
2013/10/30 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript
MySQL修炼之联结与集合浅析
2021/10/05 MySQL
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS