定义函数-def
def是定义define/definition 的缩写。Python中使用def来定义函数,函数的命名规则和变量的命名规则相同。函数名后的**()** 用于传入参数,函数体以冒号 :作为起始的标志,以return作为结束的标志。
def firstfunction(arg):
return arg
print(firstfunction(114))
Python 中参数可以设置默认值,当没有传入该参数的值时则自动传入默认参数值。
def add(a=0, b=0, c=0):
return a + b + c
print(add()) #0
print(add(1)) #1
print(add(1, 2)) #3
print(add(1, 2, 3)) #6
Python与其他编程语言不同的是,Python及时不预定义默认参数值,传入参数个数也可以变化。
def add(*args):
total =0
for val in args:
total+=val
return total
print(add()) #0
print(add(1,2)) #3
print(add(1,2,3)) #6
print(add(1,2,3,4)) #10
print(add(1,2,3,4,5)) #15
通过import导入模块中的函数
#module1.py
def foo():
print('hello,world')
#module2.py
def foo():
print('hello,world')
#test.py
from module1 import foo
foo() #hello,world
import语句的用法:
import 模块名
import 模块名.函数名
from 模块名 import 函数名 #from 模块名 import * 是指将模块文件中所有函数都导入到所在的命名空间
匿名函数lambda
匿名函数在计算机编程中是指一类无需定义标识符(函数名)的函数或子程序。lamdba是def的迷你版,它用于封装有限的表达式,语法规则如下:
lambda [arg1 [,arg2,.....argn]]:expression
举个例子:
sum = lambda x,y,z:x+y+z
print(sum(1,2,3)) #6
大部分编程语言都支持匿名函数
参考资料来源:
https://github.com/jackfrued/Python-100-Days
https://www.runoob.com/python/python-functions.html