分享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实现Const详解
Jan 27 Python
详解Python发送邮件实例
Jan 10 Python
Python日期的加减等操作的示例
Aug 15 Python
浅谈django orm 优化
Aug 18 Python
Python3.5 处理文本txt,删除不需要的行方法
Dec 10 Python
python matplotlib实现双Y轴的实例
Feb 12 Python
python异步存储数据详解
Mar 19 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
使用Python将Exception异常错误堆栈信息写入日志文件
Apr 08 Python
Python多线程:主线程等待所有子线程结束代码
Apr 25 Python
如何用python开发Zeroc Ice应用
Jan 29 Python
python 经纬度求两点距离、三点面积操作
Jun 03 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 syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
鸡肋的PHP单例模式应用详解
2013/06/03 PHP
php获取图片信息的方法详解
2015/12/10 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
PHP7多线程搭建教程
2017/04/21 PHP
php 读取文件夹下所有图片、文件的实例
2018/10/17 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
2009/08/09 Javascript
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
原生javascript模仿win8等待提示圆圈进度条
2014/04/24 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
微信小程序实现给循环列表添加点击样式实例
2017/04/26 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
python select.select模块通信全过程解析
2017/09/20 Python
Python面向对象程序设计类的多态用法详解
2019/04/12 Python
django的csrf实现过程详解
2019/07/26 Python
python cumsum函数的具体使用
2019/07/29 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
pytorch使用tensorboardX进行loss可视化实例
2020/02/24 Python
在keras中实现查看其训练loss值
2020/06/16 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
CSS3实现多背景展示效果通过CSS3定位多张背景
2014/08/10 HTML / CSS
HTML5之SVG 2D入门2—图形绘制(基本形状)介绍及使用
2013/01/30 HTML / CSS
localStorage的过期时间设置的方法详解
2018/11/26 HTML / CSS
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
写给妈妈的道歉信
2014/01/11 职场文书
出国考察邀请函
2014/01/21 职场文书
清华大学自主招生自荐信
2014/01/29 职场文书
法定代表人授权委托书
2014/09/19 职场文书
MySQL库表太大怎么办? 数据库分库分表项目实践
2022/04/11 MySQL
vue的项目如何打包上线
2022/04/13 Vue.js