-
Python中的迭代器(Iterators)
python中的迭代器是一个能够实现迭代功能的对象,包含了__iter__()和__next__()两个方法
#默认的迭代器
fruits=("apple","banana","lemon")
myit=iter(fruits)#对元组fruits进行迭代
print(next(myit))#结果为apple
print(next(myit))#结果为banana
print(next(myit))#结果为lemon
fruit="lemon"
myit=iter(fruit)#对字符串fruit进行迭代
print(next(myit))#结果为l
print(next(myit))#结果为e
print(next(myit))#结果为m
print(next(myit))#结果为o
print(next(myit))#结果为n创建自己的迭代器
class MyNumbers:#创建迭代器的类
def __iter__(self):
self.a=1
return self
def __next__(self):
if self.a<=20:
x=self.a
self.a=self.a+1
return x
else:
raise StopIteration#停止迭代
myclass=MyNumbers()
myiter=iter(myclass)
for x in myiter:
print(x)#结果为1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -
Python的作用域(Scope)
python中的变量只会在它的作用域中起作用,根据作用域的类型可将变量分为全局变量和局部变量两种。函数内部的变量只会在函数内部起作用,属于局部变量,而在函数外声明的变量一般属于全局变量。
-
Python中的模块(Modules)
模块是指包含了很多函数的代码库
创建模块:只需要将代码保存在.py结尾的文件中即可
调用模块:利用import加模块名
模块命名:模块可以命名为任意字符,只要以.py结尾
重命名模块:利用import和as重命名模块
列出模块中的所有函数:用dir()函数
调用模块的部分内容:用from模块import部分内容
#模块的内容,将下面三行保存在mymodule.py中,mymodule中包含了1个greeting函数和一个person1字典
def greeting(name):
print("Hello, "+name)
person1={"name":"John","age":36,"country":"Norway"}
import mymodule#调用模块
mymodule.greeting("John")#结果为"Hello, John"
x=dir(mymodule)#提取mymodule模块中的所有内容
print(x)#结果为['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'greeting', 'person1']
from mymodule import person1#调用模块中的部分内容
print(person1["age"])#结果为36
import mymodule as mx#调用时将模块mymodule重命名为mx
a=mx.person1["age"]
print(a)#结果为36
原文始发于微信公众号(BioInfo):W3Schools-Python基础7-完结
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/238172.html