函数基础%

函数基础

定义:

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
函数内容以冒号起始,并且缩进。
形式:
def function_name(para):
print(“函数体代码”)

function_name() # 函数调用
注意:函数只用在被调用时才会执行

函数的参数

形参与实参

• 形参就是形式上的参数,没有实际的值,通过别人赋值后才有意义,相当于变量。
• 实参就是实际意义上的参数,是一个实际存在的参数。
def test(b): # 形参
print(b)
a = 1
test(a) # 实参

可变类型参数与不可变类型参数

• 不可变类型参数在函数体内对变量重新赋值,相当于重新开辟了一块内存来保存值
def test(a):
a = 10
print(‘111’,a) # 10
a = 1
test(a)
print(‘222’,a) # 1

• 可变类型参数,在函数体内可以改变原有的值
def test1(li):
li.extend([1,11])
print(‘111’,li) # [1, 2, 3, 1, 11]
li = [1,2,3]
test1(li)
print(‘222’,li) # [1, 2, 3, 1, 11]

位置参数

• 位置参数也就是实参与形参顺序一一对应,而不论变量名
def sum_nums(num1, num2):
result = num1 + num2
print(“num1”,num1)
print(“num2”,num2)
num1 = int(input(“请输入num1:”))
num2 = int(input(“请输入num2:”))
sum_nums(num1, num2)
sum_nums(num2, num1)
假如input输入的num1为10,num2为20
• sum_nums(num1, num2)调用执行结果输出为10,20
• sum_nums(num2, num1)调用执行结果输出为20,10

关键字参数

以形参作为关键字作为参数,不论参数位置。
代码如下:
def sum_nums(num1, num2):
result = num1 + num2
print(“num1”,num1)
print(“num2”,num2)
num1 = int(input(“请输入num1:”))
num2 = int(input(“请输入num2:”))pthon
sum_nums(num2 = num2,num1 = num1)

默认值参数

形参处进行赋值,所以当调用时不传该参数就默认使用形参处的值。当调用时传了该参数,则覆盖掉默认参数。
def test2(a,b=2):
a = a+b
print(a,b)
a = 1
test2(a) # 3 2
test2(a,10) # 11 10

可变长度参数

• *args接收时会转为元组数据类型
def test3(*args):
print(args)
#test3() # ()
test3(1,2,3) # (1, 2, 3)
• **kwargs接收时会转为字典数据类型
def test4(**kwargs):
print(kwargs)
test4(a=1,b=2,c=3) # {‘a’: 1, ‘b’: 2, ‘c’: 3}

解包

def test5(a,b,c):
print(a,b,c)
tu = (1,2,3)
test5(*tu)
a,b,c = (1,2,3)
print(a,b,c)

函数的返回值

定义:

当两个函数之间,想要互相使用到内部变量时,就可以应用到函数的返回值。

例一:

• 今天距离20号还有13天
• 20号距离春节5天,今天距离春节多少天?

def holiday():
dis_holiday = 13
print(“距离放假还有:{}”.format(dis_holiday))
return dis_holiday # 将
def spring_fes(dis_holiday):
dis_spr_fes = dis_holiday + 5
print(“距离春节还有:{}”.format(dis_spr_fes))
dis_holiday = holiday()
spring_fes(dis_holiday)
• 注意1:使用return关键字返回内容
• 注意2:将内容返回到函数调用处
• 注意3:函数体中没有return语句时,函数运行结束,则默认返回None,也被称为隐含返回值

多个返回值

• 注意1:当执行函数体内代码时,遇到第一个return就将指定值返回到函数调用处,也就是执行到return这行代码,后面的都不执行了。
• 注意2:多个返回值时,用逗号隔开,但默认为元组。
def test6():
a = 1
b = 2
c = 3
return a,b,c
# d = 4 # 不执行

res = test6()
print(res) # (1,2,3)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值