博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python基础灬函数补充(作用域,迭代器,生成器)
阅读量:5104 次
发布时间:2019-06-13

本文共 938 字,大约阅读时间需要 3 分钟。

变量作用域

函数里面操作外部变量时,作用域仅限于函数里面。

var1 = 123def func():    var1 = 456    print("函数里:", var1)func()print("函数外:", var1)# 函数里: 456# 函数外: 123

操作函数外变量

var1 = 123def func():    global var1 # 将其声明为全局    var1 = 456    print("函数里:", var1)func()print("函数外:", var1)# 函数里: 456# 函数外: 456

迭代器

# 迭代器string = "start" # list,str,tuple都是可迭代对象Iterableit = iter(string) # 通过iter(Iterable)转化为一个迭代器while True:    try:        print(next(it)) # 迭代器通过next(Iterator)获取下一个元素,直到取完元素报StopIteration异常    except StopIteration as e:        break

生成器

关键字field实现range函数小数步长

range(int,int,int) # range函数只能实现生成一组序列,但是步长只能时整数

普通函数带有yield关键字,变成一个generator,且每次调用时,遇到yield程序返回,再次执行从上次返回的地方开始。

def frange(start, stop, offset):    x = start    while x < stop:        # print(x)        yield x        x += offsetprint(type(frange(10,13,0.5)))# 
for i in frange(10, 13, 0.5): print(i)# 10# 10.5# 11.0# 11.5# 12.0# 12.5

转载于:https://www.cnblogs.com/july-3rd/p/10703977.html

你可能感兴趣的文章
mysql缓存 碎片_有关mysql查询缓存的内存碎片
查看>>
mysql单节点大事务限制是哪个参数_java面试题汇总 转自多处
查看>>
python魔鬼训练营作业_python魔鬼训练营系列教程
查看>>
mac npm全局依赖包变量_如何管理NPM全局包
查看>>
ubuntu mysql修改root密码_ubuntu10.10中修改mysql root用户密码的方法
查看>>
使用命令创建mysql_用命令创建MySQL数据库
查看>>
mysql的NLJ_mysql的join buffer-阿里云开发者社区
查看>>
pythonselenium说明_python+selenium方法大全
查看>>
python print(len(pi_string))_Python2和Python3中print的用法示例总结
查看>>
mysql从库上限_Mysql 主从限制数据库
查看>>
数组中的逆序对python_数组中的逆序对.md · Ainevisa/SwordAtOffer-Python - Gitee.com
查看>>
cuckoofilter java_布隆过滤器(BloomFilter)的原理、实现和探究
查看>>
java 拖拽上传_Java实现拖拽上传
查看>>
java thread dump 分析_怎样分析 JAVA 的 Thread Dumps
查看>>
java new Thread()失败_Java Thread:Run方法不能抛出已检查的异常
查看>>
java如何登陆域后直接进系统_AD域账户自动登陆(仅限IE浏览器)Java简单实现
查看>>
java 中成员_Java 中的成员内部类
查看>>
java排序算法_一遍记住 Java 常用的八种排序算法与代码实现
查看>>
java aop面试_我想知道Spring在面试中应该怎么介绍,以及如何介绍他的aop?
查看>>
kettle java获取变量_Kettle的第二个实践--数据获取并转换
查看>>