美文网首页
2018-10-12总结

2018-10-12总结

作者: _墨宇_ | 来源:发表于2018-10-19 19:04 被阅读0次

1.模块的使用

python 中一个py文件就是一个模块,可以通import 或者from-import,在一个模块中去使用另一个模块的内容。

1.导入模块

a. import 模块 ---- 将整个模块的所有内容都导入
当文件中导入模块后,会执行模块的所有内容,使用模块内容是方式是: 模块.变量名
b. from 模块名 import 变量名1 变量名2...
----将模块内的 所有内容导入,但是只能用import后面的变量
c. from 模块名 import * ----将模块所有内容导入

2.模块的重命名

a. import 模块名 as 新模块名
给模块重新命名,使用的时候用新名字
b. from 模块名 import 变量名 as 新名字
给变量重新命名,使用时使用新名字

2.模块内容的选择性导入(阻止导入)

if __name__ == '__main__'
  代码块
不想被其他导入的部分放在这个if条件语句下面

说明:
if name == 'main': --- 固定写法
代码块 ---- 直接执行当前模块,可以执行。如果在别的模块被导入,代码块不会执行

3.迭代器(item)

迭代器在python中是一种数据类的容器,但是没有具体的字面量
其他序列转换为迭代器
item()

迭代器的特点

a.迭代器中只能用next()方法取出元素,取出元素后,迭代器中就不存在这个元素了

item1 = item('abc')
print(next(item1))      #a
print(next(item1))    #b
print(next(item1))     #c
print(next(iter1))   #StopIteration

注意:用next()取元素,从第一个元素开始取,依次取出
b.遍历迭代器

for x in item1:
        print(x)

3.生成式和生成器

生成器就是迭代器,但是迭代器不一定是生成器

生成式就是生成器特殊形式的一种
变量 for 变量in 序列

#练习 产生一个生成器,里面包含1-9
ge1 = x for x in rang(1,10)
        print(ge1)  #ge1的地址 <generator object <genexpr> at 0x000001401DC75938>
        print(next(ge1))#  1
     

生成器就时一种有关键字yield的函数体
-----函数体中有yield,那么这个函数不再是执行函数体并且产生一个返回值,而是一个生成器

通过next获取生成器元素时,会去执行生成器对应的函数体,当遇到yield时函数执行结束,并返回yield后面的值作为返回值,然后保存当前位置,下次获取生成器元素时,从当前这个位置开始执行,遇到yield时返回yield后面的值。。。。

生成器可以当成一个序列来使用

def fuc ():
  for x in rang(10):
   print(x)
   yiedl  x

相关文章

网友评论

      本文标题:2018-10-12总结

      本文链接:https://www.haomeiwen.com/subject/fkngaftx.html