数学函数
|
函数 |
返回值 ( 描述 ) |
|
返回数字的绝对值,如abs(-10) 返回 10 |
|
|
返回数字的上入整数,如math.ceil(4.1) 返回 5 |
|
|
如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 |
|
|
返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045 |
|
|
返回数字的绝对值,如math.fabs(-10) 返回10.0 |
|
|
返回数字的下舍整数,如math.floor(4.9)返回 4 |
|
|
如math.log(math.e)返回1.0,math.log(100,10)返回2.0 |
|
|
返回以10为基数的x的对数,如math.log10(100)返回 2.0 |
|
|
返回给定参数的最大值,参数可以为序列。 |
|
|
返回给定参数的最小值,参数可以为序列。 |
|
|
返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。 |
|
|
x**y 运算后的值。 |
|
|
返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。 |
|
|
返回数字x的平方根 |
定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
- 函数内容以冒号起始,并且缩进。
- return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。(也相当于过程) #过程:就是没有返回值的函数
匿名函数
python 使用 lambda 来创建匿名函数。
lambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。

# def test(x,y,z):#x=1,y=2,z=3 # print(x) # print(y) # print(z) #位置参数,必须一一对应,缺一不行多一也不行 # test(1,2,3) #关键字参数,无须一一对应,缺一不行多一也不行 # test(y=1,x=3,z=4) #位置参数必须在关键字参数左边 # test(1,y=2,3)#报错 # test(1,3,y=2)#报错 # test(1,3,z=2) # test(1,3,z=2,y=4)#报错 # test(z=2,1,3)#报错
# def handle(x,type='mysql'): # print(x) # print(type) # handle('hello') # # hello # # mysql # # handle('hello',type='sqlite') # # hello # # sqlite # # handle('hello','sqlite') # # hello # # sqlite
#参数组:**字典 *列表 def test(x,*args): print(x) print(args) # test(1) # # 1 # # () # # test(1,2,3,4,5) # # 1 # # (2, 3, 4, 5) # # test(1,{'name':'alex'}) # # 1 # # ({'name': 'alex'},) # # test(1,['x','y','z']) # # 1 # # (['x', 'y', 'z'],) # # test(1,*['x','y','z']) # # 1 # # ('x', 'y', 'z') # # test(1,*('x','y','z')) # # 1 # # ('x', 'y', 'z') # def test(x,**kwargs): # print(x) # print(kwargs) # test(1,y=2,z=3) # # 1 # # {'y': 2, 'z': 3} # # test(1,1,2,2,2,2,2,y=2,z=3)#报错 # test(1,y=2,z=3,z=3)#会报错 :一个参数不能传两个值 # def test(x,*args,**kwargs): # print(x) # print(args,args[-1]) # print(kwargs,kwargs.get('y')) # # test(1,1,2,1,1,11,1,x=1,y=2,z=3) #报错 # # test(1,*[1,2,3],**{'y':1}) # # 1 # # (1, 2, 3) 3 # # {'y': 1} 1
高阶函数: 1.函数接收的参数是一个函数名; 2.返回值中包含函数
# 把函数当作参数传给另外一个函数 # def foo(n): #n=bar # print(n) # # def bar(name): # print('my name is %s' %name) # # # foo(bar) # # foo(bar()) # foo(bar('alex')) #返回值中包含函数 def bar(): print('from bar') def foo(): print('from foo') return bar n=foo() n() def hanle(): print('from handle') return hanle h=hanle() h() def test1(): print('from test1') def test2(): print('from handle') return test1()
浙公网安备 33010602011771号