变量作用域

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

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

操作函数外变量

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

迭代器

# 迭代器
string = "start" # list,str,tuple都是可迭代对象Iterable
it = 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 += offset

print(type(frange(10,13,0.5)))
# <class 'generator'>

for i in frange(10, 13, 0.5):
    print(i)
# 10
# 10.5
# 11.0
# 11.5
# 12.0
# 12.5

Python基础灬函数补充(作用域,迭代器,生成器)的更多相关文章

  1. python基础之知识补充-作用域、特殊语法

    python作用域 无函数的作用域 在python中没有块级作用域 什么叫块级作用域呢?先来看个例子: if 1 == 1: name= 'alex' print(name) 运行结果为alex 在j ...

  2. 2015/9/19 Python基础(15):变量作用域及生成器

    变量作用域标识符的作用域是定义为其声明的可应用范围,或者即是我们所说的变量可见性.也就是,我们可以在程序的那个部分去访问一个制定的标识符.全局变量与局部变量定义在函数内的变量有局部作用域,在一个模块中 ...

  3. python基础(7)-函数&命名空间&作用域&闭包

    函数 动态参数 *args def sum(*args): ''' 任何参数都会被args以元组的方式接收 ''' print(type(args)) # result:<class 'tupl ...

  4. Python基础_可迭代的/迭代器/生成器

    介绍 可迭代的:内部实现了__iter__方法 迭代器:内部实现了__iter__,__next__方法 生成器:yield,yield from 使用 __iter__() __next__() _ ...

  5. Python基础灬函数(定义,参数)

    函数 函数定义 # 定义一个计算绝对值的函数 def cal_abs(x): if x >= 0: return x else: return -x # 调用函数 print('-1的绝对值是: ...

  6. Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器

    Python进阶(三)----函数名,作用域,名称空间,f-string,可迭代对象,迭代器 一丶关键字:global,nonlocal global 声明全局变量: ​ 1. 可以在局部作用域声明一 ...

  7. python基础——filter函数

    python基础——filter函数 Python内建的filter()函数用于过滤序列. 和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函 ...

  8. 八. Python基础(8)--函数

    八. Python基础(8)--函数 1 ● 函数返回布尔值 注意, 自定义的函数也可以是用来作逻辑判断的, 例如内置的startswith()等函数. def check_len(x):     ' ...

  9. python基础之函数详解

    Python基础之函数详解 目录 Python基础之函数详解 一.函数的定义 二.函数的调用 三.函数返回值 四.函数的参数 4.1 位置参数 4.2 关键字参数 实参:位置实参和关键字参数的混合使用 ...

随机推荐

  1. Centos 7 配置单机Hadoop

    Centos 7 配置单机Hadoop 2018年10月11日 09:48:13 GT_Stone 阅读数:82   系统镜像:CentuOS-7-x86_64-Everything-1708 Jav ...

  2. C++笔记014:C++对C的扩展——新增数据类型bool类型

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 1.C++在C语言的基本类型系统之上增加了bool类型. 2.C++中的bool类型变量可取的值只有true 和false,true代表真 ...

  3. ABAP术语-ABAP 术语发布结束

    ABAP 术语发布结束 原文:http://www.cnblogs.com/qiangsheng/archive/2008/03/21/1116236.html 经历了大约三个月,终于把 BC417 ...

  4. 什么是cookie,作用是什么? 以及session的理解

    cookie: 1.定义:什么是cookie?  cookie就是存储在客户端的一小段文本 2.cookie是一门客户端的技术,因为cookie是存储在客户端浏览器中的 3.cookie的作用:是为了 ...

  5. ElasticSearch优化系列四:ES的heap是如何被瓜分掉的

    以下分别解读几个我知道的内存消耗大户: Segment Memory Segment不是file吗?segment memory又是什么?前面提到过,一个segment是一个完备的lucene倒排索引 ...

  6. Redis 之复制-初入江湖

    一.前言 在分布式系统中,为了解决单点问题,通常会把数据复制多个副本部署到其他机器,满足故障恢复合负载均衡等需求.Redis也是如此,它为我们提供了复制的功能,实现了相同数据的多个Redis副本.复制 ...

  7. Go黑帽子

    使用go语言来实现python黑帽子和绝技的代码 1.unix密码破解器 package main import( "bufio" "flag" "i ...

  8. python 模块路径查找 及 添加

    **** python 模块路径查找: 通过模块的__file__属性来确定: **** 模块路径添加: 方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.ap ...

  9. Java使用POI导出excel(上)——基本操作

    相关的介绍参考自:http://zc985552943.iteye.com/blog/1491546 一.概述 1.概念 受上文博文博主的启发,有必要先对excel的各个概念先做了解! //上述基本都 ...

  10. 《阿里巴巴Java开发手册》代码格式部分应用——idea中checkstyle的使用教程

    <阿里巴巴Java开发手册>代码格式部分应用--idea中checkstyle的使用教程 1.<阿里巴巴Java开发手册> 这是阿里巴巴工程师送给各位软件工程师的宝典,就像开车 ...