#Python学习笔记(day10)——迭代器与生成器+模块的导入

生成器generator:

可将函数分段执行,即执行一段操作后退出函数或者挂起函数,等需要用到时在之前挂起位置继续调用函数

关键词是yield,yield相当于return返回一个值,下一次调用函数的时候从上一个yield开始。

生成器算是一种特殊的迭代器,所以可以应用for循环自动调用next()函数和读取StopIteration

导入模块的三种方式:

1、import+文件名

导入整个模块,调用该模块中的函数时需要声明命名空间

譬如导入 hi.py:

 import hi

hi.f()

扫描二维码关注公众号,回复: 2589842 查看本文章

2、import +文件名 + as +别名

克服了重名或者文件名过长的缺点

譬如:

import hi as h:

h.f()

3、from + 文件名 +  import +函数名(类名)

单纯导入一个函数,调用函数时不用声明命名空间

不用声明命名空间但是容易使函数名混乱,推荐第二种方式

from hi import f

f()

4、模块中的 if __name__ == ' __main__'

通常其后面的代码用来检验模块是否能正常运行。__name__用来获取该模块在代码运行中的“地位”,如果该程序作为主程序运行,则会返回" __main__"。如果作为一个被导入的模块,则会返回这个程序的文件名。

5、导入模块的搜索过程

在导入一个模块时,系统会在预定义下的目录搜索该模块。预定的路径包括一个当前程序运行的路径和6个系统默认路径。若想要指定搜索路径需要在sys.path中添加路径。sys,path返回一个列表,所以用列表添加元素的方法就可以实现。

补充:

__all__可以查看模块的外部接口,from sth import *导入的便是全部外部接口

猜你喜欢

转载自blog.csdn.net/pioneer_AC/article/details/81363138