更多课程 选择中心


Python培训

400-111-8989

python中如何定义def函数?


如果我们用代码实现了一个小功能,但想要在程序代码中重复使用,不能在代码中到处粘贴这些代码,因为这样做违反 了软件工程中 DRY原则。 Python提供了def函数功能,可以将我们这部分功能抽象成一个函数以方便程序调用,或者提供给其他模块使用。下面一起来看一下def函数是怎么定义的。

#基本使用

1 def function_name(parameters):

2 expressions

Python 使用 def 开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的 具体功能实现代码,如果想要函数有返回值, 在 expressions 中的逻辑代码中用 return 返回。

#实例

1 def function():

2 print('This is a function')

3 a = 1+2

4 print(a)

上面我们定义了一个名字为 function 的函数,函数没有不接受参数,所以括号内部为空,紧接着就是 函数的功能代码。如果执行该脚本,发现并没有输出任何输出,因为我们只定义了函数,而并没有执行函数。 这时我们在 Python 命令提示符中输入函数调用 function(), 注意这里调用函数的括号不能省略。那么 函数内部的功能代码将会执行,输出结果:

1 This is a function

2 3

如果我们想要在脚本中调用的脚本,只需要在脚本中最后添加函数调用语句

1 function()

那么在执行脚本的时候,将会执行函数。

def函数参数

我们在使用的调用函数的时候,想要指定一些变量的值在函数中使用,那么这些变量就是函数的参数,函数调用的时候, 传入即可。

#基本使用

1 def function_name(parameters):

2 expressions

parameters 的位置就是函数的参数,在调用的时候传入即可。

#实例

1 def func(a, b):

2 c = a+b

3 print('the c is ', c)

在这里定义的一个函数,其参数就是两个数值,函数的功能就是把两个参数加起来。运行脚本后,在 Python 提示符内调用函数 func, 如果不指定参数 func(), 那么将会出错; 输出 func(1, 2),将 a=1, b=2 传入函数,输出 the c is 3 。所以在调用函数时候,参数个数和位置一定要按照函数定义。如果我们忘记了函数的参数的位置,只知道各个参数的名字,可以在 函数调用的过程中给指明特定的参数 func(a=1, b=2), 这样的话,参数的位置将不受影响,所以 func(b=2,a=1)是同样的 的效果。

def函数默认参数

我们在定义函数时有时候有些参数在大部分情况下是相同的,只不过为了提高函数的适用性,提供了一些备选的参数, 为了方便函数调用,我们可以将这些参数设置为默认参数,那么该参数在函数调用过程中可以不需要明确给出。

#基本使用

1 def function_name(para_1,...,para_n=defau_n,..., para_m=defau_m):

2 expressions

函数声明只需要在需要默认参数的地方用 = 号给定即可, 但是要注意所有的默认参数都不能出现在非默认参数的前面。

#实例

1 def sale_car(price, color='red', brand='carmy', is_second_hand=True):

2 print('price', price,

3 'color', color,

4 'brand', brand,

5 'is_second_hand', is_second_hand,)

在这里定义了一个 sale_car 函数,参数为车的属性,但除了 price 之外,像 color, brand 和 is_second_hand 都是有默认值的,如果我们调用函数 sale_car(1000), 那么与 sale_car(1000, 'red', 'carmy', True) 是一样的效果。当然也可以在函数调用过程中传入特定的参数用来修改默认参数。通过默认参数可以减轻我们函数调用的复杂度。

形参、实参与局部变量、全局变量的关系。

答:首先明确,变量是一个更大的范围。

所有的形参都是局部变量,所有的实参都是全局变量。用集合的角度来说,就是形参是局部变量的子集,实参是全局变量的子集。

这里解释一下为什么形参都是局部变量。

形参是局部变量,全局变量在程序开始时创建并分配空间,在程序结束时候释放内存并销毁,局部变量是在函数调用的时候创建,在函数调用结束后销毁并释放,形参在函数调用时才分配空间,在函数调用后释放,所以是局部变量。

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:0基础想做程序员,该从何学起?
下一篇:实现Python快速入门的办法是什么?

Python培训这么多,靠谱的Python培训班怎么选?

人工智能带来的弊端

AI技术包括哪些技术?

AI对哪些行业影响最大?

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省