本文,我们将分享一些有助于我们掌握 Python 的高级概念。如迭代器、生成器、装饰器等!
1. 异常处理
异常处理
是一个很重要的概念,它可以帮助我们更好地解决程序中的各种问题。
异常是在程序执行过程中发生并中断的情况。它可能由于多种原因而发生。
比如:除法运算中分母为0的情况,会抛出:ZeroDivisionError
;导入不存在的包时,会抛出:ImportError
;列表越界时,会抛出:IndexError
。python 中大约有30个内置异常。
我们使用 try
和 except
来处理 Python 中的异常。语法如下:
try:
pass # 可能发生异常的代码
except ValueError:
pass # 发生异常时执行的代码
except ZeroDivisionError:
pass # 发生异常时执行的代码
else:
pass # 其他情况时执行的代码
finally:
pass # 最终执行的执行的代码
2. collections模块
collections
模块被称为用于存储数据的容器。 例如列表、元组、集合、字典。 Python 中有许多库是为了提供额外的数据结构而开发的, collections
就是其中之一,旨在改进内置容器的功能。 该模块中最常用的五种数据结构:
1. Counter
对可迭代对象的计数。
from collections import Counter
data = [1,1,1,2,3,4,3,3,5,6,7,7,1]
count = Counter(data)
print(count) # Counter({1: 4, 2: 1, 3: 4, 4: 1, 5: 1, 6: 1, 7: 2})
## ⚠️ Counter有几个惊艳的方法:
# 返回出现次数最多的前3个元素
print(count.most_common(3)) # [('1', 4), ('3', 4), ('2', 1)]
# 返回生成Counter对象的数据,迭代器格式。
for i in count.elements():
print(i) # 1 1 1 2 3 4 3 3 5 6 7 7 1
2. namedtuple
给元组元素命名,并且可以通过名字访问元素。
from collections import namedtuple
User = namedtuple('User', ['name', 'sex', 'age'])
user = User(name='Runoob', sex='male', age=12)
print(user) # User(name='Runoob', sex='male', age=12)
user = User._make