day_10 函数名,闭包,迭代器
1. 函数名的使用
1.函数名是一个变量,函数名储存的是函数的内存地址
2.函数名可以赋值给其他变量
3.函数名可以当容器类对象的元素
4.函数名可以当其他函数的参数
5.函数名可以做函数的返回值
2.闭包:闭包就是内层函数对外层函数(非全局)变量的使用
1.闭包的作用
1.可以保护变量不收侵害
2.常用变量常驻内存
2.闭包的判断
1.print(函数名._closure_) 返回值为cell表示闭包,返回值为NONE表示不是闭包
2.闭包后内层函数怎么访问外层函数?
一层层返回就行
列:def func1():
def func2():
def func3():
print("嘿嘿")
return func3
return func2
func1()()()
.迭代器
.查看变量能够执行的方法 dir
.itrator:迭代器,具有的方法 _iter_(),_next_()
.iterable:可迭代的对象 具有的方法 _iter_()
for循环的机制
i=lst._iter_()
while :
try:
el=i._next_()
print(el)
except stopitration
break
从迭代器中获取元素的唯一方法_next_
.三个特征:
.省内存
.惰性机制
.只能向前(迭代器是一次性用品,想返回只能重新获取迭代器)
.如何判断对象是否可迭代
.print(dir(对象)) 出现了_iter_->可迭代对象
.print(dir(对象)) 出现了_next_->迭代器
print("__iter__" in dir(lst)) # True 可迭代的
print("__next__" in dir(lst)) # False 不是迭代器
i=xx._iter_(),能够执行的话,i就是一个迭代器,迭代器本身是可迭代的
.from cellection import iterable,itreator
print(isinstance(lis,itreable)) TRUE
print(isinstance(lis,itreator)) FALSE
.关联的小点
.defunc(a,b)
'''
文档注释
这个函数用来计算两个数的和并返回
:param a: 第一个数
:param b: 第二个数
:return: 第一个数和第二个数的和
author:sylar
date:--
'''
print("我是func")
return a + b
print(func.__doc__) # document 文档注释
print(func.__name__) # name 名字 获取函数名
day_10 函数名,闭包,迭代器的更多相关文章
- python --- 11 第一类对象 函数名 闭包 迭代器
一 .函数名的运用 ①函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量 ②函数名是一个内存地址 ③ 函数名可以赋值给其他变量 ④函数名可以当做容器类 ...
- python之路---11 第一类对象 函数名 闭包 迭代器
二十九. 1.函数名的运用 ①函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量 ②函数名是一个内存地址 ③ 函数名可以赋值给其他变量 ④函数名可以当 ...
- python中的函数名,闭包,迭代器
一.函数名 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量,单纯print()出的是一个内存地址. def func(): print('你说你有点难追') print(func ...
- Day11--Python--函数名,闭包,迭代器
通过 lst.__iter__()拿到lst.的迭代器 1.函数名第一类对象 函数名就是变量名 1.函数名可以像变量一样互相赋值. 2.可以作为函数的参数,进行传递 3.可以作为返回值返回 4.可以作 ...
- Python基础之 函数名,闭包,和迭代器
1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么 ...
- python基础 (函数名,闭包,和迭代器)
1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么 ...
- python全栈 函数名 闭包及迭代器
1,函数名的运用 2.闭包 3.迭代器 一.函数名的运用 1.函数名的命名规范和变量是一样的 函数名其实就是变量名 (1)函数名的内存地址 例: def func(): print("ale ...
- python之函数名,闭包、迭代器
一.函数名的运用(第一类对象) 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量. 1,函数名的内存地址: def func(): print("呵呵") pr ...
- python基础之函数名的使用,闭包以及迭代器
内容梗概: 1. 函数名的使⽤用以及第⼀一类对象 2. 闭包 3. 迭代器 1.函数名一. 函数名的运⽤.函数名是一个变量, 但它是⼀个特殊的变量, 与括号配合可以执行函数的变量.1.1 函数名的内存 ...
随机推荐
- 自定义Android Studio方法注释模板
前言 你们从Eclipse转到Android Studio的时候,是不是会怀念Eclipse的方法注释模版? 敲/**加回车,模板就出来了,而Android Studio却不能自定义(或者我没有找到) ...
- 【总结整理】JS的继承
参考阮一峰的文章:http://javascript.ruanyifeng.com/oop/inheritance.html#toc4 function Shape() { this.x = 0; t ...
- Codeforces 960F 线段树
题意:https://blog.csdn.net/qq_39809664/article/details/79871282 思路:我们考虑LIS的状态转移,对于这个题,假设现在扫描到的边是(u, v, ...
- 914D Bash and a Tough Math Puzzle
传送门 分析 用线段树维护区间gcd,每次查询找到第一个不是x倍数的点,如果这之后还有gcd不能被x整除的区间则这个区间不合法 代码 #include<iostream> #include ...
- EXCEL数据导入数据库的另一种方式
一.直接代码 var fileResult = openFileDialog1.ShowDialog(); if (fileResult == System.Windows.Forms.DialogR ...
- 总结:kathasis如何发送get请求获取数据
1.进入前端页面,找到对应的模块,开始塞字段数据. 2.如果字段为基本类型,如String,比如website,则在前段界面,右击,inspect,找到对应的代码所处的jsp,跳转到该jsp,通过该j ...
- SDUT 3342 数据结构实验之二叉树三:统计叶子数
数据结构实验之二叉树三:统计叶子数 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知二叉 ...
- java全栈day12----final static 匿名对象 内部类 包的声明与访问
final关键字概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子类继承了这些特殊类之后, ...
- 存储过程自动更新ID
DECLARE @i int --更新题序编号 UPDATE UserAnswer SET @i=@i+,TestOrder=@i WHERE UserScoreID=' //根据ID 累加更新
- meta常用命令
sessions -i 1用于查看你控制的电脑