温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python中def的详细解析

发布时间:2020-07-17 13:47:49 来源:亿速云 阅读:510 作者:小猪 栏目:开发技术

这篇文章主要讲解了python中def的详细解析,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

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

基本使用

def function_name(parameters):
   expressions

实例

def function():
print('This is a function')
a = 1+2
print(a)

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

This is a function
3

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

1 function()

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

DEF函数参数

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

基本使用

def function_name(parameters):
expressions

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

#实例

def func(a, b):
c = a+b
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函数默认参数

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

#基本使用

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

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

#实例

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

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

基础知识点补充:

def

自定义函数的必要函数:def

使用方法:

def 函数名(参数1,参数2,参数…):
 函数体(语句块)
 return [返回值]

注意事项

  • 函数名的命名规则:和标识符的基本规则是一样的,基本上由小写字母和数字下划线构成
  • def 是关键字,不能够修改(define的简称)
  • 函数后面一定要加括号(英文状态的)括号里面是否加参数看具体情况
  • 括号后面的冒号不能够忘记
  • 函数体必须加上缩进(建议4个空格)

看完上述内容,是不是对python中def的详细解析有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI