3. 控制流和Iterables(适合迭代的对象)
让我们创建一个变量
some_var = 5
这是一个if
语句,缩进很重要,它是四个空格而不是制表符
if some_var > 10:
print("它大于10")
elif some_var < 10:
print("它小余10")
else:
print("它等于10")
For 循环
for animal in ["dog", "cat", "mouse"]:
# 你可以使用`format()`来格式化字符串
print("{}是 哺乳动物".format(animal))
range函数
range(number)
可以创建一个整数列表
使用的格式:range(下限,上限,步长)
for i in range(4):
print(i) #依次输出0,1,2,3
for i in range(4, 8):
print(i) #依次输出4,5,6,7
range(0, 10, 3) # 步长为 3 [0, 3, 6, 9]
While 循环
while x < 4:
print(x)
x += 1 # Shorthand for x = x + 1
try/except异常处理
try:
# Use "raise" to raise an error
raise IndexError("这是一个索引错误")
except IndexError as e:
pass # 无操作
except (TypeError, NameError):
pass # 可以一起处理多个异常
else:
print("All good!") # 仅当try中的代码没有引发异常时才运行
finally: # 可以在这里释放资源
print("We can clean up resources here")
也可以使用with来保证资源的释放
with open("Hello.txt") as f:
for line in f:
print(line)
Iterable接口对象
filled_dict = {"one": 1, "two": 2, "three": 3}
our_iterable = filled_dict.keys()
print(our_iterable)
我们可以在循环中迭代它
for i in our_iterable:
print(i)
但是却不能使用下标得到它
our_iterable[1] # 错误类型 TypeError
利用iter
创建可迭代对象
our_iterator = iter(our_iterable)
使用next()
获得下一个对象
next(our_iterator) # => "one"
It maintains state as we iterate.
next(our_iterator) # => "two"
next(our_iterator) # => "three"
无数据元素的迭代引发StopIteration异常
next(our_iterator) # Raises StopIteration
通过list得到所有的元素
list(filled_dict.keys()) # => Returns ["one", "two", "three"]
网友评论