【合集】python 的一些妙用,推导式、三元表达式、with as 等
自己常用的内置函数
函数如下:
dir len str list tuple zip map reduce(现在并入了functools中)
常用的进制转换
- Oct hex bin
lambda 表达式
- 可以将简单的函数,用更精简的代码表示
- 格式:lambda para1,para2,...: 返回值:
推导式生成
-
可以减少代码量。比如,生成1~10的list:
-
直接调用你写好的函数,将返回的值存入。(熟悉的人会这么写:[i**2 for i in range(5)])
三元表达式
-
相当于if else 的简写或者说变形,使得代码更佳简洁。(变成2中一行难道不香吗?当然没有原本的简单明了)
-
条件满足执行的 if 条件 else 条件不满足:
妙用固定参数、可变参数、默认参数
def func(name,age,sex = '男',*args,**kwds)
-
其中name和age为固定参数,sex为默认参数,*arg和**kwds为可变参数,**kwds可以接受键值对输入。
ps:有人可能会疑惑为何没有显示sex,其实是因为*args逃过了,sex变成了list。
-
单独的默认参数:
with as 一种上下文管理器,如打开文件
一般的是:
file = open("/log.txt")
data = file.read()
file.close()
存在的问题:
- 可能忘记关闭文件;
- 文件读取数据发生异常,没有异常处理。
正常写法:
file = open("/log.txt")
try:
data = file.read()
finally:
file.close()
使用with as后:
with open("/tmp/foo.txt") as file:
data = file.read()
for else 相当于执行完for后执行else
后面将更新,常用函数的具体用法,未完待续~~~
纯粹于当下,执着于理想。