Python函数

本文介绍了如何在Python中创建函数,包括定义语法、参数传递(值传递与引用传递)、函数参数列表(位置参数、关键字参数、默认值和可变参数),以及返回值和变量作用域。通过实例演示了函数的使用和不同类型的参数处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.7函数

试想一下,我们在编程时候,某一功能用到很多次,我们每用到这个功能就要写一次代码,这样就会非常的麻烦,这个时候就要使用到函数,我们可以把这个功能写成一个函数,如果使用这个功能,直接调用就可以了。

1.7.1函数的创建的调用

1.函数的创建
创建函数也称为定义函数,可以理解为一个具有某种用途的工具。使用def关键字实现。
具体语法格式如下:

def functionname([parameterlist]):
[‘’’comments’’’]
[functionbody]

参数说明:
functionname: 函数名称,在调用函数时使用
parameterlist:可选参数,用于指定向函数中传递的参数如果有多个参数,各参数间使用逗号分隔。如果不指定,则表示该函数没有参数,在调用时也不指定函数。需要保留()
comments:可选参数,表示为函数指定注释
functionbody:可选参数,用于指定函数体,即该函数被调用之后,要执行的功能代码

示例创建一个加法函数:

def add(a,b):
    	'''
    	:param a: 第一个数
    	:param b: 第二个数
    	:return: 输出两数之和
    	'''
   		a1=a
    	b1=b
   		print(a+b)

2.函数的调用
调用函数,就是执行函数,如果把创建的函数理解为创建一个具有某种用途的工具,那么调用函数就相当于使用该工具。语法格式如下:

functionname([parametersvalue])

functionname:函数名称
parametersvalue:可选参数,用于指定各个参数的值
示例:

def add(a,b):
    '''
    :param a: 第一个数
    :param b: 第二个数
    :return: 输出两数之和
    '''
    a1=a
    b1=b
    print(a+b)

add(2,3)  #调用函数

运行结果:

5

1.7.2参数传递

在调用函数时,大多数情况下,主调函数和被调函数之间有数据传递关系,这就是有参数的函数形式,函数参数的作用是传递数据给函数使用,函数利用接受的数据进行具体的操作处理。

1.7.2.1了解形式参数和实际参数

在使用函数时,经常会用到形式参数和实际参数,二者都叫作参数
形式参数:在定义函数时,函数名后面括号中的参数为“形式参数”
实际参数:在调用一个函数时,函数名括号中的参数为“实际参数”,也就是将函数的调用者提供给函数的参数称为实际参数
实际参数就涉及了值传递或引用传递,如果传递的实际参数为不可变对象时,进行值传递,如果传递的实际参数为可变对象时,进行的是引用传递。
值传递和引用传递的基本区别就是,进行值传递后,改变形式参数的值,实际参数的值不变。引用传递后,改变形式参数的值,实际参数的值也一同改变.我们看一下实例吧。
示例代码:

#传值示例
def myfunc1(A,B):
    '''
    进行值传递后,改变形式参数的值,实际参数的值不变    
    :param A:形参
    :param B:形参
    :return:
    '''
    A=3
    print("形参A的值是"+str(A))

A=B=2
myfunc1(A,B)
print("实际参数A的值是"+str(A))

结果:

形参A的值是3
实际参数A的值是2
#引用示例
 def myfunc2(list1):
    list1[1]=33
    print("函数中:参数的值是",end='')
    print(list1)
list1=[1,3,5,7,9]
print("传值前:实际参数的值是",end='')
print(list1)
myfunc2(list1)
print("传值后:实际参数的值是",end='')
print(list1)

结果:

传值前:实际参数的值是[1, 3, 5, 7, 9]
函数中:参数的值是[1, 33, 5, 7, 9]
传值后:实际参数的值是[1, 33, 5, 7, 9]
1.7.2.2 函数的参数列表

参数有4种
1.位置参数
位置参数也称必备参数,是必须按照正确的顺序传到函数中,即调用时的数量和位置必须和定义时是一样的
数量必须与定义一致,位置必须与定义时一致
在这里插入图片描述

2.关键字参数
关键字参数是指使用形式参数的名字来确定输入的参数值。通过该方式指定实际参数时,不在需要与形式参数的位置完全一致。只需要将参数名写正确即可。
在这里插入图片描述

3.为参数设置默认值
调用函数时,如果没有指定某个参数将抛出异常,为了解决这个问题,我们可以为参数设置默认的值,即在定义函数时,直接指定形式参数的默认值。当没有传入参数时,则直接使用定义函数时设置的默认值。
示例

def myfunc(a=1,b=2,c=3):
    pass
def myfunc1(a,b,c):
    pass
myfunc(a=3,c=4)	# 这个不会报错,因为没传入b,他的默认值是2
myfunc1(a=2,c=4)  #这个就会报错,因为没有传入b的值

4.可变参数
在Python中,还可以定义可变参数,可变参数也称不定长参数,即传入函数中的实际参数可以是任意多个。
定义可变参数时,主要有两种形式,一种是*parameter,**parameter
1.*parameter
这种形式接收任意多个实际参数并将其放到一个元组中
示例:

def myfunc(*fruit):
    print("我喜欢的水果有:")
    for item in fruit:
        print(item,end=' ')
myfunc('苹果','橘子','香蕉') #可以传入多个值
结果:
我喜欢的水果有:
苹果 橘子 香蕉 

2.**parameter
这种形式表示接收任意多个类似关键字参数一样显示赋值的实际参数,并将其放到一个字典中。
示例:

def myfunc1(**fruit):
    print("我喜欢的水果价格是:")
    for item in fruit.items():
        print(item,end=' ')
myfunc1(苹果='3元',橘子='4元',香蕉='5元') #传入的值

结果:

我喜欢的水果价格是:
('苹果', '3元') ('橘子', '4元') ('香蕉', '5元') 

1.7.3返回值

在Python中,可以在函数体内使用return语句为函数指定返回值,该返回值 可以是任意类型,并且无论return出现在函数的什么位置,只要得到执行,就会结束函数的执行。
return 语句的语法格式如下:

return value[]

value:可选参数,用于指定要返回的值

1.7.4变量的作用域

变量的作用域是指程序代码能够访问该变量的区域。一般分为 全局变量 和 局部变量

局部变量:局部变量是指函数内部定义并使用的变量;
全局变量:全局变量为能够作用于函数内外的变量

示例:

a =1  # 全局变量
def myfunc():
    b=1 #局部 变量只在myfunc函数中有效

将变量b放置函数外时,会报错
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花落同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值