Python基础
-5-函数
一、概念
写了一段代码实现了某个小功能;然后把这些代码集中到一起,起了一个名字;下一次就可以根据这个名字再次使用这个代码,这就是函数。
作用:(1)方便代码重用,(2)分解任务,简化程序逻辑,
二、定义
def 函数名():
函数体
函数的定义相当于开辟一块内存空间,定义一个与函数名相同的变量,指向这个函数
三、函数的参数、调用、返回值
形参:函数定义中的“参数名称”
实参:调用函数时传递的“真实数据(参数值)”
单个参数:
def 函数名(参数名称):
函数体
多个参数
def 函数名(参数名称1,参数名称2,……):
函数体
不定长参数(1)以元组的方式接收不定长参数,传入的参数以元组的形式保存在args中
def 函数名(*args):
函数体(2)以字典的方式接收不定长参数,传入的参数以字典的形式保存在kwargs中
def 函数名(**kwargs):
函数体(3)拆包与装包
装包->把传递的参数包装成一个元组或字典,这个过程就称之为装包
xx不定长参数函数(参数1,参数2....)
拆包->把元组、字典里面的参数,再次分解成单个的个体,称为拆包
xx函数(*args)#累加功能 def add(*args): num = 0 for i in args: num += i return num #累乘功能 def multiply(*args): num = 1 for i in args: num *= i return num #计算功能函数,一个参数接受一个运算符+或* #实现累加或累乘功能 def appliction(app,*args): if app == "+": #拆包 print(add(*args)) elif app == "*": #拆包 print(multiply(*args)) else: print("请正确输入".center(20,"-")) #装包 appliction("+", 1, 5, 8, 9, 10) appliction("*", 1, 5, 8, 9, 10) appliction("-", 1, 5, 8, 9, 10)
#运行结果 33 3600 -------请正确输入--------
缺省参数:包含其他参数时,缺省参数放最后
使用函数时,当不填写参数时,使用默认值
def 函数名(变量名1 = 默认值1 , 变量名2 = 默认值2):
函数体
调用
不带参数函数
函数名()带参数函数
函数名(参数1,参数2......) -这种方式实参和形参必须一一对应
函数名(参数名=参数1,参数名=参数2......)-这种方式实参和形参不必一一对应
Python参数传递:引用传递(地址传递)
但是修改一个不可变类型时,其实是让其指向一个新的变量
def test1(num):
print(id(num))
a = 10
print(id(a))
test1(a)
print("测试分割线".center(20, "-"))
def test2(