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 函数名,闭包,迭代器的更多相关文章

  1. python --- 11 第一类对象 函数名 闭包 迭代器

    一 .函数名的运用    ①函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量 ②函数名是一个内存地址    ③ 函数名可以赋值给其他变量         ④函数名可以当做容器类 ...

  2. python之路---11 第一类对象 函数名 闭包 迭代器

    二十九. 1.函数名的运用    ①函数名是⼀个变量, 但它是⼀个特殊的变量, 与括号配合可以执⾏函数的变量 ②函数名是一个内存地址    ③ 函数名可以赋值给其他变量         ④函数名可以当 ...

  3. python中的函数名,闭包,迭代器

    一.函数名 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量,单纯print()出的是一个内存地址. def func(): print('你说你有点难追') print(func ...

  4. Day11--Python--函数名,闭包,迭代器

    通过 lst.__iter__()拿到lst.的迭代器 1.函数名第一类对象 函数名就是变量名 1.函数名可以像变量一样互相赋值. 2.可以作为函数的参数,进行传递 3.可以作为返回值返回 4.可以作 ...

  5. Python基础之 函数名,闭包,和迭代器

    1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么 ...

  6. python基础 (函数名,闭包,和迭代器)

    1.函数名作用 函数名本质上就是函数的内存地址或对象. 1.可以被引用 2.可以被当作容器类型的元素 3.可以当作函数的参数和返回值 4.如果记不住的话,那就记住一句话,就当普通变量用 2.闭包 什么 ...

  7. python全栈 函数名 闭包及迭代器

    1,函数名的运用 2.闭包 3.迭代器 一.函数名的运用 1.函数名的命名规范和变量是一样的 函数名其实就是变量名 (1)函数名的内存地址 例: def func(): print("ale ...

  8. python之函数名,闭包、迭代器

    一.函数名的运用(第一类对象) 函数名是一个变量,但它是一个特殊的变量,与括号配合可以执行函数的变量. 1,函数名的内存地址: def func(): print("呵呵") pr ...

  9. python基础之函数名的使用,闭包以及迭代器

    内容梗概: 1. 函数名的使⽤用以及第⼀一类对象 2. 闭包 3. 迭代器 1.函数名一. 函数名的运⽤.函数名是一个变量, 但它是⼀个特殊的变量, 与括号配合可以执行函数的变量.1.1 函数名的内存 ...

随机推荐

  1. solr replication原理探究

    原文出自:http://sbp810050504.blog.51cto.com/2799422/1423199 无论是垂直搜索,还是通用搜索引擎,对外提供搜索服务其压力都比较大,经常有垂直电商在做活动 ...

  2. NLP整体流程的代码

    import nltk import numpy as np import re from nltk.corpus import stopwords # 1 分词1 text = "Sent ...

  3. 算法Sedgewick第四版-第1章基础-2.3 Quicksort-001快速排序

    一. 1.特点 (1)The quicksort algorithm’s desirable features are that it is in-place (uses only a small a ...

  4. java中怎么把String转化为字符数组呢?

    我想让用户输入一组字符串,然后将这个字符串的每一个赋给一个char.即,abcde char ch[]=new char[5]; ch[0]=a;ch[1]=b;..... 解决方案如下图所示: St ...

  5. Effective Objective-C [下]

    http://esoftmobile.com/2013/08/17/effective-objective-c-2/ Chapter 6: Blocks and Grand Central Dispa ...

  6. p1627 [CQOI2009]中位数

    传送门 分析 https://www.luogu.org/blog/user43145/solution-p1627 代码 #include<iostream> #include<c ...

  7. 715B Complete The Graph

    传送门 题目大意 给出一个图,一些边带权,另一些边等待你赋权(最小赋为1).请你找到一种赋权方式,使得 s 到 t 的最短路为 L n ≤ 1e3 ,m ≤ 1e4 ,L ≤ 1e9 分析 二分所有边 ...

  8. Luogu 2114 [NOI2014]起床困难综合症

    还挺简单的. 发现这几个二进制运算并不会进位,所以我们从高到低按位贪心,一位一位计算贡献. 发现$2^{30}$刚好大于$1e9$,所以最多只要算29位. 首先算出一个全都是$0$的二进制数和一个全都 ...

  9. CodeForces 566D Restructuring Company (并查集+链表)

    题意:给定 3 种操作, 第一种 1 u v 把 u 和 v 合并 第二种 2 l r 把 l - r 这一段区间合并 第三种 3 u v 判断 u 和 v 是不是在同一集合中. 析:很容易知道是用并 ...

  10. Comparator 排序

    例1: import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import ja ...