Python 基础函数
菜鸟教程上的Python基础教程
这里仅整理部分使用到的函数。
Python
简单函数(内置+常用)
内置函数 + 常用的简单函数
bin
bin() 返回一个整数 int 或者长整数 long int 的二进制表示。(返回为字符串)
>>>bin(10)
‘0b1010’
>>> bin(20)
‘0b10100’
sorted
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sorted(iterable, cmp=None, key=None, reverse=False)
参数说明:
- iterable — 可迭代对象。
- cmp — 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
- key — 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse — 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
- out — 返回重新排列后的列表
copy, deepcopy
- 直接赋值:其实就是对象的引用(别名)。
- 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
- 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。
1 | a = {1: [1,2,3]} |
yield
yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator
1 | def read_file(fpath): |
contextlib
任何对象,只要正确实现了上下文管理,就可以用于with
语句。
实现上下文管理是通过__enter__
和__exit__
这两个方法实现的。
编写__enter__
和__exit__
仍然很繁琐,因此Python的标准库contextlib
提供了更简单的写法。
@contextmanager
这个decorator接受一个generator,用yield
语句把with ... as var
把变量输出出去,然后,with
语句就可以正常地工作了。
希望在某段代码执行前后自动执行特定代码,也可以用@contextmanager
实现。
1 |
|
Python 标准库
glob
glob模块提供了一个函数用于从目录通配符搜索中生成文件列表:
images = sorted(glob.glob(os.path.join(root, ‘image_2/*_10.png’)))