【Python】函数、def


一、函数

1. 函数是什么?

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

2. 函数的作用

函数能提高应用的模块性,和代码的重复利用率。

3. 内置函数与自定义函数

你已经知道 Python 提供了许多内建函数,比如 print() 。但你也可以自己创建函数,这被叫做用户自定义函数。


二、自定义函数

1. 你可以定义一个自己想要功能的函数

以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串 — 用于存放函数说明。
  • 函数内容以冒号 : 起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None

2. 语法

Python 定义函数使用 def 关键字,一般格式如下:

def 函数名(参数列表):
    函数体

默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。

3. 函数调用

定义一个函数只是完成了定义,需要通过调用才能执行。


三、无参函数、带参函数、默认参数函数

1. 无参函数

(1)语法
def function_name():
    expressions

python的函数可以没有参数,没有参数的函数叫做无参函数。

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

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

This is a function
3

2. 带参函数

(1)语法
def function_name(parameters):
    expressions
(2)实例
def func(a, b):
    c = a+b
    print('the c is ', c)

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

3. 默认参数函数

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

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

注意:默认值放在非默认值之后

(1)实例
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)是一样的效果。当然也可以在函数调用过程中传入特定的参数用来修改默认参数。通过默认参数可以减轻我们函数调用的复杂度。


参考链接

  1. 菜鸟教程 - Python3 函数
  2. Python——入门级(定义功能def函数)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值