enumerate()函数:用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中
sorted()函数:对所有可迭代的对象进行排序操作(链接内含sort()函数与sorted()函数区别)
lower()函数:将字符串中所有字母进行小写操作,(不能对其他类型数据进行操作,会报错)
items()函数:以列表返回可遍历的(键,值)元组数组,(xxx.items())
lambda : 匿名函数
装饰器(Decorator)是通过python的@语法实现的
OOP(Object Oriented Programming):面向对象的编程,是一种程序设计思想
- 数据封装、继承和多态只是面向对象程序设计中最基础的3个概念
Python允许使用多重继承,因此,MixIn 就是一种常见的设计
如果想将一个类用作for … in循环,类似list或tuple,那么必须有一个
__iter__()
方法来返回一个迭代对象,但是要注意他就是一个类,当然经过实验发现你通过类建立实例也可以等价的做for循环,注意__iter__
要配合__next__
使用
我们自己定义的类表现得和Python自带的list、tuple、dict没什么区别,这完全归功于动态语言的“鸭子类型”,不需要强制继承某个接口。
__call__()
还可以定义参数。对实例进行直接调用就好比对一个函数进行调用一样,所以你完全可以把对象看成函数,把函数看成对象,因为这两者之间本来就没啥根本的区别通过
callable()
函数,我们就可以判断一个对象是否是“可调用”对象。
Python的class允许定义许多定制方法,可以让我们非常方便地生成特定的类。
本节介绍的是最常用的几个定制方法,还有很多可定制的方法,请参考Python的官方文档。
借用一个例子深刻理解__str__
、__repr__
、__getattr__
、__call__
1 | 输出个性化URL: |
正常情况下,我们都用
class Xxx...
来定义类,但是,type()
函数也允许我们动态创建出类来