您好、欢迎来到现金彩票网!
当前位置:双彩网 > 形参 >

传智播客郑州校区Python学习之函数中的形参与实参

发布时间:2019-06-07 22:39 来源:未知 编辑:admin

  众所周知,Python中的函数就是带名字的代码块。如果在写一段程序的时候,需要多次用到同样一个功能,就会增加代码量。而如果把功能作为代码块封装在函数里,通过调用,就会让写程序员变得很方便。今天,传智播客郑州校区就为大家介绍Python函数中的形参与实参。

  def user(): def关键字后面加函数名定义函数,定义以冒号结尾内部代码块 使用三引号来构成文档字符串,用来解释该函数的主要功能,这是一个很好的编码习惯 print(Hello World) 函数体,用来写该函数需要完成的功能的代码user()使用函数名()的方式调用函数

  在定义函数的时候,可以在函数的()内加入变量,在调用函数的时候就可以给函数传入对应的值,以上个例子稍作修改:

  从名字就可以看出,实参是一个实实在在存在的参数,是实际占用内存地址的,而形参只是意义上的一种参数,在定义的时候是不占内存地址的,如在上面例子中,username就是一个形参,尼古拉斯赵四是调用函数时传入的一个实参,它的值被存储在形参username中。

  函数的调用中,可能存在多个实参,在给函数传递参数的时候只要有两种方式,位置实参和关键字实参,每个实参都由变量名和值组成,实参还可以是列表、字典

  在调用函数的时候,必须将每个实参都关联到函数定义中的每一个形参,最简单的关联方式就是基于实参的顺序。

  需要注意一点的就是,如果使用位置实参的方式传值,传入的实参个数必须与形参相同,否则运行程序会报。

  关键字实参是通过关键字-值的方式,关键字实参的方式就不需要考虑函数调用过程中实参的顺序。同一个参数不能传两个值

  复制代码def func(x,y,z):print(x,y,z)func(x=1,y=2,z=3) 通过关键字=值的方式,将实参与形参关联映射,不需要考录形参的顺序,顺序也可以改变,即y=2,z=3,x=1,运行的结果不会发生改变运行结果:1 2 3复制代码

  在定义函数的时候,也可以指定形参的默认值,如果在调用函数时给函数提供了实参时,Python将使用指定的实参值,否则的,将自动调用形参的默认值。因此,如果给形参指定了默认值后,在调用时可以不用给它传值,使用默认值可以简化函数的调用。如:

  def func(x,y=2): 定义函数的时候在这里给形参设置了默认值y=2print(x,y)func(1) 在调用此函数时,只传入了一个实参,y的值就会使用默认值运行结果:1 2

  def func(x,y=2):print(x,y)func(1,3) 在调用该函数的时候,给设置了默认值的形参y再次赋值,这运行结果会使用新传入的实参值运行结果:1 3

  在使用形参默认值的时候需要注意:在形参列表中必须先列出没有默认值的形参,再列出有默认值的形参。这让Python依然能够正确的解读位置实参。

  即:在函数调用过程中,可以混合使用位置实参,关键字实参和默认值参数,但是其中相关的规则一定要遵循,否则一定会导致程序的运行出错。

  当提供的实参多于或少于函数定义时所提供的形参时,程序会报错,这时只要根据报错信息正确修改即可。

  当不确定需要传入的值是多少时,在定义形参的时候,可以使用*args(列表),**kwargs(字典)来表示。

  函数不是直接显示输出的,相反,它会处理一些数据并返回一个或一组值。在函数中用return语句将值返回到调用函数的代码行,返回值能将程序大部分繁重的工作移交到函数中去完成,从而简化主程序。

  函数可以返回任何类型的值,包括字典、列表这样较复杂的数据结构。还是上面的例子,返回一个表示人的字典

  函数传递列表,传递列表在函数中很有用,在列表中包含数字、名字甚至更复杂的对象,下面举一个例子:

  函数还可以结合while循环,下面是一个很简单的例子,用户输入姓氏和名字,最终输出完整的一句话。

http://7milediver.com/xingcan/158.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有