help()查看使用方法
dir()查看
匿名函数:
在python中通过lambda关键字
lambda [参数]:函数体
通过匿名函数实现三个数相加:
sum_lambda = lambda a,b,c:a+b+c #通过变量名来接收
print(sum_lambda(1,10,100))
普通实现三个数相加:
def sum(a,b,c):
return a + b + c
print(sum(1,10,100))
无参数:
lambda_a = lambda:100
print(lambda_a())
一个参数:
lambda_b = lambda num:num * 100
print(lambda_b(100))
lambda_c = lambda x : x if x % 2 == 0 else x + 1 #不能过于复杂,单分支函数可操作
#先操作if函数,如果满足,则返回x,否则进行else,在内部
print(lambda_c(6))
print(lambda_c(7))
可以作为一个参数进行传递:
def sub_func(a,b,func):
print("a=",a)
print("b=",b)
print("a - b=",func(a,b)) #如果为func,则返回的是一个地址
sub_func(100,1,lambda a,b : a - b) #func = lambda a,b : a - b func(a,b)
作为函数的返回值:
def run_func(a,b):
return lambda c : a + b + c
return_func = run_func(1,10) #lambda c = 1 + 10 + c
print(return_func) #地址
print(return_func(100))
总结:lambda可以有多个参数,一个返回值,也可以用一个变量来接收匿名函数
偏函数:
在调用某个函数时,如果想将该函数中的某个值设置为一个固定的值,可使用functools模块中,partial (partial functools):
import functools
form functools import partial
int("12345"):默认转化为十进制
其他类型:
int("",base=8) #转化为8进制
def int2(x,base=2)
return int(x,base)
int2("10000") #作为二进制转化
可以利用偏函数去设置:
import functools
int3 = functools.partial(int.base=2)
int3("11001100") #204
全局函数
round() :四舍五入,但是要注意在python中奇数上是标准的,在偶数上是以5为分界线的