函数的定义
定义一个函数的方法如下:
- def关键字,后面跟一个空格
- 函数名
- 后面括号和冒号不能省,括号内可以有参数
- 函数内所有代码需要缩进
例如定义函数func:
def func():
print(“这是一个函数”)
函数参数和返回值
- 参数:负责给函数传递一些必要的数据
- 形参(形式参数):在函数定义的时候用到的参数,没有具体值,只是一个占位符
- 实参(实际参数):在调用函数的时候输入的值
- 返回值:调用函数的时候的一个执行结果
- 使用ruturn返回结果
- 如果没有值需要返回,推荐使用return None表示函数结束
- 函数一旦执行return,则表示函数立即结束
- 如果函数没有return关键字,则函数默认返回None
九九乘法表
循环实现,如下:
for i in range(1,10)
for j in range(1,i+1)
print(i*j,end=" ")
print()
参数详解
-必选传参
传入的参数必须按照顺序
-默认传参
参数设置一个默认值
例如:def fun(a,b,c=100),调用函数时,可以这么写:fun(1,2)
-关键字传参
参数传入可以采用关键字收集的一种机制,不一定要按照顺序
例如:def fun(a,b,c), 调用函数时,可以这么写:fun(c=1,b=2,a=3)
-收集参数
定义函数的时候,在参数前面加 * 号,函数可以接收零个或者多个值做为参数,返回结果是一个元组。
对关键字参数进行收集的另一个机制是,在参数前面加两个 * 号,返回的结果是一个以参数名为键、参数值为键值的字典。
例子如下:
def fun(*param)
print("--------fun-----------")
print(param)
def fun1(**param)
print("--------fun1----------")
print(param)
def fun2(*param1,**param2)
print("---------fun2---------")
print(param1)
print(param2)
fun(1,2,3,4) # (1, 2, 3, 4)
fun1(a = 1, b=2, c=3, d=4) # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
fun2(6,7,8, m = 9, n = 10) # (6, 7, 8) {'m': 9, 'n': 10}
参数收集的用处之一是:使我们编写函数时不用头疼将 N 多个参数都塞在一个括号里,既美观又省事。
用处之二是:
- :可以将一系列值存放进一个元组变量里,可用该元组变量名加一个 * 号作为参数传递给一个正被调用的函数,而后该函数就可以自由地对这些值进行一系列合法的操作。
** :同理,只不过变量存放的方式是字典。