首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么是python的函数?在python3函数的参数是如何传递的?

一:函数(function)

1、 什么是函数?

函数是可以重复执行的语句块,可以重复使用。

2、 作用:

用于封装语句块,提高代码的重用性。

定义用户级别的函数。

3、 函数定义(创建)语句

def语句的语法:

def 函数名(形参列表)

语句块

4、 用法说明:

函数的名字就是语句块的名称。

函数名的命名规则与变量名相同(函数名必须为标识符)。

函数有自己的名字空间,在函数外部不可以访问函数内部的变量,在函数内部可以访问函数外部的变量,通常让函数处理外部数据需要用参数给函数传入一些数据。

函数的参数列表可以为空。

语句部分不能为空。如果为空需要填充pass语句。

5、 函数示例:

定义一个函数,绑定三条语句块,并输出其结果。

二:函数的调用

1、 函数名(实际调用传递参数列表)注:实际调用传递参数以后称为实参。

2、 说明:

函数调用是一个表达式

如果没有return语句,此函数执行完毕后返加None对象,如果函数需要返回其它的对象需要用到return语句。

示例:

def mymax(a,b):

print(‘a=’, a)

print(‘b=’, b)

print(a,’大于’,b)

else:

print(a, ’小于等于’, b)

mymax(20, 30)

案例分析:上例代码中,函数名括号内的叫形参(也叫变量),其余的都称之为语句块。形参并不会直接赋值,有两个形参,在函数调用的时候,一定要给两个实参。其语法结构是先传递a和b的值(20给a,30给b, 按照先后的顺序进行对应),然后再判断。代码如下图:

三:return语句

语法:

return [表达式] ———[]代表里面的内容可以省略

作用:

用于函数中,结束当前函数的执行,返回到调用该函数的地方,同时返回一个对象的引用关系。

说明:

return语句后跟的表达式可以省略,省略后相当于return None。

如果函数没有return语句,则函数挂靠完最后一条语句后返回None。

函数调用一定会返回一个对象的引用。(默认返回Node)

示例:

写一个函数mymax,实现返回两个数的最大值。如:

def mymax(a, b)

print(mymax(100, 200))

print(mymax(50, 10))

print(mymax(‘ABC’, ABCD’))

案例分析:首先判断两个数的大小,如果a大于b,就return a,否则就return b。

写一个函数input_number,此函数用来获取用户循环输入的整数,当用户输入负数时,结束输入。将用户输入数以列表的形式返回,再用再建函数max,min,sum求出用户输入的最大值,最小值及和。

案例分析:首先在函数内部定义一个空列表,在输入端输入一个数,并转换为整型, 判断输入的数字如果小于0,返回列表,否则把大于0的数添加到列表中,然后分别求出列表的最大值,最小值与和。代码如下图:

四:python函数的参数传递

1、 参数传递方式

位置传递

实际参数(实参)的对应关系与形式参数(形参)的对应关系是按位置来依次对应的。示列:

def myfun(a ,b ,c)

pass

myfun(1,2,3)

说明:

实际参数和形式参数通过位置进行传递的匹配实参个数必须与形参个数相同。

序列传参

序列传参是指在函数调用过程中,用 * 将序列拆解后按位置传参的方式进行参数传递。

示例:

def myfun(a, b, c):

pass

s = [1,2,3]

myfun(*s) 表示把s拆开

s2 = ‘ABC’

myfun(*s2)

关键字传参

关键字传参是指传参时,按着形参的名称给形参赋值,实参和形参按名称进行匹配。

示例:

Def myfun(a,b,c):

pass

myfun(b=22,c=33,a=11)

等同于myfun(11,22,33)

Myfun(c=3,b=2,a=1)

字典关键字传参

是指实参为字典,将字典用 ** 拆解后进行关键字传参

示例:

def myfun(a, b, c):

Pass

d = {‘c’:33, ‘b’:22, ‘a’: 11}

myfun(**d) 拆解字典后再传参

说明:

字典的键名和形参名必须一致

字典键名必须为字符串

字典的键名要在形参中存在

函数的综合传参

函数传参方式,在能确定形参能唯一匹配到相应实参的情况下可以任意组合。

示例:

def myfun(a, b, c):

Pass

myfun(100, *[200, 300]) #正确

myfun(*’AB’,300) #正确

myfun(100, c=300, b=200) #正确

myfun(1, **{‘c’: 3, ‘b’: 2}) #正确

myfun(**{‘c’: 3, ‘b’: 2}, a=1) #正确

myfun(b=2, c=2, 1) #错误,不能确定1给谁?

说明:

传参时先位置传参,后关键字传参

总结:

函数可是python语言中的重中之重,如团队协作开发时,可互相调用编写的函数,这可以得高效率开发的效果。朋友们,有关函数我们就说到这,如果大家喜欢小编的内容,请互粉、关注、评论!小编一定会创作更多优质的内容为广大python爱好者们服务。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200107A0SFW500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券