Python函数积累【持续更新中······】

1. *args,**kwargs
# 这两个都表示可变参数
如果我们不确定要往函数中传入多少个参数,或者我们想往函数中以列表和元组的形式传参数时,那就使要用*args;
如果我们不知道要往函数中传入多少个关键词参数,或者想传入字典的值作为关键词参数时,那就要使用**kwargs。

def test(a, *args, **kwargs):
	print a
	print args
	print kwargs

if __name__ == "__main__":
	test(1, 2, 3 , d='4', e=5)

# 输出
1
(2, 3)
{'e': 5, 'd': '4'}
2. enumerate( sequence, [start=0] )
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
3. norm( input,p,dim )
input (Tensor) – 输入张量;
p (float) – 范数计算中的幂指数值;
dim (int) – 缩减的维度,dim=0是对列上的一个向量求范数;dim=1是对行上的一个向量求范数。
4 from future import ······
在很多源代码中,在文件头部有这样的三句代码:
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
作用就是将新版本的特性引进当前版本中,也就是说可以在当前版本使用新版本的一些特性,也可以理解为即使使用python2,也可以正常的运行在python3环境下编写的程序。

absolute_import引入了python3里才有的import行为,即import一个模块会去引用标准库,而不是当前目录下的同名文件;
division引入了python3的除法,即/代表精准除,//代表了floor除法;
print_function指python3的print是必须当做函数调用的:print("")
5 Python strip()方法
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
6 open() 函数
Python open() 函数用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。
注意:使用 open() 函数一定要保证关闭文件对象,即调用 close() 函数。

open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
txt = open("test.txt'', 'x')  # x模式表示open函数中的‘写模式’,即新建一个文件,如果该文件已存在则会报错。
默认模式为 r	模式,以只读方式打开文件。文件的指针将会放在文件的开头。
7 Python图片处理模块PIL(pillow) putpalette
定义:im.putpalette(sequence)
含义:为“P”或者“L”图像增加一个调色板。对于“L”图像,它的模式将变化为“P”。
每组三个值表示对应像素的红,绿和蓝。

mask = Image.open('PennFudanPed/PedMasks/FudanPed00012_mask.png')
mask.putpalette([
    0, 0, 0, # black background
    255, 0, 0, # index 1 is red
    255, 255, 0, # index 2 is yellow
    255, 153, 0, # index 3 is orange
])
8 python lambda表达式(匿名函数)
# 将存有hsv颜色空间的颜色元组列表,转换成rgb颜色空间的颜色元组列表
hsv_tuples = [(x / len(self.class_names), 1., 1.)
              for x in range(len(self.class_names))]
self.colors = list(map(lambda x: colorsys.hsv_to_rgb(*x), hsv_tuples))
self.colors = list(
    map(lambda x: (int(x[0] * 255), int(x[1] * 255), int(x[2] * 255)),
        self.colors))
# 参数前带个*表示元组,
# 因为colorsys.hsv_to_rgb函数所需传入对象必须是元组,map函数则要求hsv_tuples为可迭代对象

欢迎关注【OAOA

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值