目录
1. 语法
2. 常见用法
2.1. 函数的返回值
2.2. 函数互相调用
3. 实战练习
3.1. 定义执行Linux命令的函数
1. 语法
#定义函数
def 函数名(参数1, 参数2):
函数体(代码块)
......
#调用函数(定义函数时使用了参数,调用也必须使用参数)
函数名(参数1, 参数2)
定义一个简单的函数
#定义函数
>>> def func1():
>>> print("这是一个函数")
#调用函数
>>> func1()
这是一个函数
定义函数参数
#定义函数
>>> def func1(a, b):
>>> print(f"第1个参数为{a},第2个参数为{b}")
#调用函数
>>> func1(10, 20)
第1个参数为10,第2个参数为20
定义参数默认值
#定义函数
>>> def func1(a, b=2): #参数b使用默认值,不传b参数则默认为2
>>> print(f"第1个参数为{a},第2个参数为{b}")
#调用函数
>>> func1(10)
第1个参数为10,第2个参数为2
可变长元组,可传入多个参数
#定义参数
>>> def func1(*n):
>>> for i in n:
>>> print(i)
#调用参数
>>> func1('a', 'b', 'c')
a
b
c
2. 常见用法
2.1. 函数的返回值
没有指定返回值,默认返回None
函数体无代码时,返回None
>>> def func1():
>>> pass
>>> print(func1())
None
函数体有代码时,仍然返回None
>>> def func1():
>>> a = 1
>>> print(func1())
None
使用 return 返回一个固定的字符
返回一个数字
>>> def func1():
>>> return 1
>>> print(func1())
1
返回一个字符串
>>> def func1():
>>> return 'a'
>>> print(func1())
a
使用 return 返回函数体执行的内容
>>> def func1(a, b):
>>> return a + b
>>> print(func1(1, 2))
3
使用 return 返回多个值
>>> def func1():
>>> a = 1
>>> b = 2
>>> return a, b
>>> print(func1())
(1, 2)
>>> print(type(func1()))
<class 'tuple'>
返回值的作用是什么?
比如有一个计算类的需求,计算的方法有比较复杂,那么可以将计算的方法写在一个函数中,把最终的结果返回出来,再赋值给一个变量。那么后面的代码中需要这个计算结果直接调用变量即可,而不需要再次复杂的去执行。
举一个简单的例子:
>>> def func1(a, b):
>>> return (a + b) * 5
>>> var = func1('A','B')
>>> print(var)
ABABABABAB
2.2. 函数互相调用
有a、b两个函数,直接在b中调用a函数即可
>>> def func1():
>>> print('第一个函数,执行xxx任务')
>>> def func2():
>>> func1() #调用第一个函数
>>> print('第二个函数,需要func1的辅助')
>>> func2()
第一个函数,执行xxx任务
第二个函数,需要func1的辅助
函数递归调用自己
>>> def func1():
>>> num = int(input('请输出1-100数字:'))
>>> if (num < 1) or (num > 100): #如果交互输入的数字小于1或大于100,那么继续调用本函数
>>> func1()
>>> else: #输入的数字符号要求,结束函数运行
>>> print('======结束======')
>>> func1()
请输出1-100数字:0
请输出1-100数字:101
请输出1-100数字:100
======结束======
3. 实战练习
3.1. 定义执行Linux命令的函数
import os
def OS_Command(cmd_list):
for i in cmd_list:
os.system(i)
cmd = ['ps u --sort=-%mem |head', 'ls ./'] #可执行多条命令
OS_Command(cmd)