一.函数名的运用

函数名就是一个变量名,但它是一个特殊的变量名,是一个后面加括号可以执行函数的变量名.

def func():print("我是一个小小的函数")
a = func
print(a)func()
a()func = 3
print(func)

函数名的命名规范与变量的命名规范一样.

函数名可以作为列表中的元素进行存储.

可以作为参数传给函数

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def my():print("我是my")def proxy(fn): # 代理模式. 装饰器print("在处理之前")fn()print("在处理之后")proxy(my) # 把函数名作为参数传递给另一个函数

二.闭包

在内层函数中访问外层函数的局部变量

好处:

1.可以保护的变量不受外界影响

2.可以让变量常驻内存

语法:

 def func1():a =1def func()print(a)return func()

三.迭代器

使用dir来查看该数据包含了那些方法

用来便利列表,字符串,元组…可迭代对象

可迭代对象: Iterable,里面有__iter__()可以获取迭代七,没有__next__()

迭代器: Iterator,里面有__iter__()可以获取迭代器,还有__next__()

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
s = '123'
for i in s:print(i)
print(dir(str)) #  dir查看xx类型的数据可以执行哪些方法, __iter__  iterable
print(dir(list)) # __iter__
print(dir(int)) # 没有__iter__
# 所有的带__iter__可以使用for循环的, 可迭代对象# 可迭代对象可以使用__iter__()来获取到迭代器
# 迭代器里面有__next__()
s = "我喜欢python"
it = s.__iter__() # 获取迭代器
print(dir(it)) # 迭代器里有__iter__ 还有__next__print(it.__next__())# 我
print(it.__next__())# 喜
print(it.__next__())# 欢
print(it.__next__())# p
print(it.__next__())# y
print(it.__next__())# t
print(it.__next__())# h
print(it.__next__())# o
print(it.__next__())# n

迭代器的特点:

  1. 只能向前

  2. 惰性机制

  3. 省内存(生成器)

for循环的内部机制

  1. 首先获取到迭代器

  2. 使用while循环获取数据

  3. it.__next__()来获取数据

  4. 处理异常 try: xxx except StopIteration:

python值函数名的使用以及闭包,迭代器详解相关推荐

  1. python linspace函数_python的range和linspace使用详解

    在python中要产生一个数字序列,最快的方法就是使用range和linspace函数,但是这两者不太一样,但总的来说实现的效果是一致的,都能获取一个数字序列. range range一看其名就知道是 ...

  2. python装饰器函数-Python函数装饰器常见使用方法实例详解

    本文实例讲述了Python函数装饰器常见使用方法.分享给大家供大家参考,具体如下: 一.装饰器 首先,我们要了解到什么是开放封闭式原则? 软件一旦上线后,对修改源代码是封闭的,对功能的扩张是开放的,所 ...

  3. python函数定义及调用-python函数声明和调用定义及原理详解

    这篇文章主要介绍了python函数声明和调用定义及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数是指代码片段,可以重复调用,比如我们前 ...

  4. python函数声明和调用定义及原理详解

    这篇文章主要介绍了python函数声明和调用定义及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 函数是指代码片段,可以重复调用,比如我们前 ...

  5. python跨函数调用变量_对python中不同模块(函数、类、变量)的调用详解

    首先,先介绍两种引入模块的方法. 法一:将整个文件引入 import 文件名 文件名.函数名( ) / 文件名.类名 通过这个方法可以运行另外一个文件里的函数 法二:只引入某个文件中一个类/函数/变量 ...

  6. python函数中可变参数的传递方式_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  7. python中search和match的区别_Python中正则表达式match()、search()函数及match()和search()的区别详解...

    match()和search()都是python中的正则匹配函数,那这两个函数有何区别呢? match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找 ...

  8. python怎么读文件夹下的文件夹-python如何获取当前文件夹下所有文件名详解

    前言 本文主要给大家介绍了关于python获取当前文件夹下所有文件名的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 os 模块下有两个函数: os.walk() os.li ...

  9. python数据挖掘笔记】二十.KNN最近邻分类算法分析详解及平衡秤TXT数据集读取

    #2018-04-06 07:57:00 April Friday the 14 week, the 096 day SZ SSMR python数据挖掘笔记]二十.KNN最近邻分类算法分析详解及平衡 ...

最新文章

  1. 7年,从“游戏少年”到大厂技术总监的逆袭之路
  2. django 的用户验证及登录状态保持
  3. 计算机二级日期格式,09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象...
  4. 2021 “AI Earth”人工智能创新挑战赛 AI助力精准气象和海洋预测
  5. [jQuery原理] jQuery入口函数
  6. 【数据结构笔记01】什么是数据结构
  7. vue事件发射与接收(可实现页面传值和非父子组件传值)
  8. 制造业数字化转型-项目案例合集
  9. 用xbuilder开发遇到的问题
  10. android获取SIM卡信息和手机号码
  11. VScode+esp-idf:编译腾讯物联网控制台ESP32例程(esp-qcloud)
  12. 英文学术写作:十个语言风格上应注意的点(书摘)
  13. 乐易佳苹果手机恢复软件
  14. Django——关于related查找
  15. OA行业分析:实施政务OA办公系统的好处
  16. 六十四、Kylin的初体验
  17. 全相位算法c语言表达,基于全相位FFT的电力谐波检测方法研究
  18. android清理存储工具,(安卓)CCleaner Pro — 手机垃圾文件清理工具
  19. HTTP请求和相应格式
  20. 企业级数据中台的建设方法、架构和技术栈

热门文章

  1. 以太坊智能合约简介(Solidity)
  2. webService的简单使用
  3. 基于.NET平台常用的框架整理(转)
  4. mysql 让一个存储过程定时作业的代码(转)
  5. Windows XP字体模糊
  6. dojo Quick Start/dojo入门手册--package机制
  7. 网交会引发的新交易机会
  8. 【ABAP】SAP销售订单定价值变更
  9. MSEG和EKBE的区别在哪里
  10. 解锁并设置远程登录尝试次数