Python 基础(十三):函数

❤️ 博客主页:水滴技术
🌸 订阅专栏:Python 入门核心技术
🚀 支持水滴:点赞👍 + 收藏⭐ + 留言💬

文章目录

  • 一、创建函数
  • 二、调用函数
  • 三、向函数传递参数
    • 3.1、形参和实参
    • 3.2、多参函数
    • 3.3、参数的顺序
    • 3.4、关键字实参
    • 3.5、参数的默认值
    • 3.6、不定长参数
  • 四、有返回值的函数
  • 系列文章
  • 热门专栏

大家好,我是水滴~~

本篇主要讲术 Python 中的函数,主要内容有:函数的定义、创建函数、调用函数、向函数传递参数、参数返回值等。

简单来讲,函数(function)就是用来完成某个特定功能的代码块。使用函数,可以提高代码的模块化、复用性。在 Python 中有很多内置的函数,比如我们使用最多的 print() 函数。

一、创建函数

函数使用 def 关键字来定义,然后是函数名,后面紧跟着是一对括号() 和一个冒号:,遇到冒号我们就知道,它的下面会是一个代码块,该代码块为函数体。当函数被调用后,会从函数体的第一行,执行到最后一行。

例如:下面例子中,创建了一个名为 say_hello 的函数,该函数会往屏幕上打印:“你好” “我是水滴”。

# 定义是个名为 say_hello 的函数
def say_hello():
  print("你好")
  print("我是水滴")

二、调用函数

调用函数是指支行函数里的代码。如果我们定义了一个函数,但是从来不调用它,这些代码是永远也不会运行的。调用函数时,输入函数名字,然后跟上一对括号()即可。

下面例子中,是调用刚定义的 say_hello 函数。

# 调用 say_hello 函数
say_hello()

输出结果:

你好
我是水滴

我们也可以重复的调用函数,那么函数中的代码也会执行相同的次数。

# 调用三次 say_hello 函数
say_hello()
say_hello()
say_hello()

输出结果:

你好
我是水滴
你好
我是水滴
你好
我是水滴

三、向函数传递参数

函数名后面的括号 () 并不是没有用处,它可以用来传递参数。

下面例子中,函数 say_hello 会接收一个 name 参数。

# 定义是个名为 say_hello 的函数,并传入 name 参数
def say_hello(name):
  print("你好," + name)
  print("我是水滴")

那么,调用函数时,需要传入参数。

say_hello("小明")

输出结果:

你好,小明
我是水滴

我们向函数传入什么值,函数中就会使用什么值。这样,我们就可以根据需要,传入不同的参数了。

say_hello("小明")
say_hello("小美")
say_hello("小帅")

输出结果:

你好,小明
我是水滴
你好,小美
我是水滴
你好,小帅
我是水滴

3.1、形参和实参

在函数传参时有两个术语需要我们了解一下,即行参和实参。

形参是在声明函数时定义的,用于接收参数,并且该参数在整个函数体内可以使用。上例中的 name 为行参。
实参是在调用函数时传递的参数,可以是常量、变量、表达式、对象等。上列中的"小明""小美""小帅" 都是实参。

3.2、多参函数

上面的例子中,我们只传了一个参数。实际上函数是可以定义多个参数的。

下面函数中定义了两个形参:

# 定义是个名为 say_hello 的函数,并定义两个参数
def say_hello(name, mood):
  print("你好," + name)
  print("我是水滴,见到你很" + mood)

函数调用时传递两个实参。

say_hello("小明", "开心")

输出结果:

你好,小明
我是水滴,见到你很开心

虽然函数可以定义很多个,但为了规范起见,当参数超过5、6个后,可以考虑使用列表或对象。

3.3、参数的顺序

在函数调用时,一定要注意实参的顺序,如果与形参的顺序不一致,将会有出乎意料的问题。这种要求实参的顺序与形参的顺序相同的参数传递,叫做位置实参

下面是一个顺序错误的示例:

say_hello("伤心", "小明")

输出结果:

你好,伤心
我是水滴,见到你很小明

3.4、关键字实参

关键字实参是传递参数时可以指定参数名称,这样可以将参数名称和值关联起来。在传递参数时不用考虑参数的顺序,并且清楚的指出了各个参数的用途。

下面是关键字实参调用的例子:

say_hello(mood="伤心", name="小明")

输出结果:

你好,小明
我是水滴,见到你很伤心

3.5、参数的默认值

在编写函数时,可以给每个形参指定默认值。这样在调用函数时,如果未指定实参,那么将使用形参的默认值。

下面例子中,为 mood 形参指定了默认值:

# 定义是个名为 say_hello 的函数,并定义两个参数
def say_hello(name, mood="开心"):
  print("你好," + name)
  print("我是水滴,见到你很" + mood)

函数调用:

say_hello("小明")

输出结果:

你好,小明
我是水滴,见到你很开心

3.6、不定长参数

函数可以传递不定长的参数,在参数前加星号 * 即可。

定义一个含有不定长参数的函数:

def say_hello(*names):
  for name in names:
    print("你好," + name + ",我是水滴")

调用函数,传递多个参数:

say_hello("小明", "小美", "小帅")

输出结果:

你好,小明,我是水滴
你好,小美,我是水滴
你好,小帅,我是水滴

四、有返回值的函数

函数不仅可以完成某个特定功能,还可以返回一个或一组值,函数返回的值称为返回值。在函数体中,使用 return 语句表示返回值。

带返回值的函数:

# 定义是个名为 say_hello 的函数,并定义两个参数
def say_hello(name, mood="开心"):
  print("你好," + name)
  print("我是水滴,见到你很" + mood)
  return "水滴"

调用函数,并输出返回结果:

result = say_hello("小明")
print("返回值:" + result)

输出结果:

你好,小明
我是水滴,见到你很开心
返回值:水滴

系列文章

🔥 Python 基础(一):初识 Python
🔥 Python 基础(二):搭建 Python 开发环境
🔥 Python 基础(三):Python 集成开发工具 IDLE
🔥 Python 基础(四):基础语法
🔥 Python 基础(五):变量与常量
🔥 Python 基础(六):基本数据类型
🔥 Python 基础(七):常用运算符
🔥 Python 基础(八):流程控制语句
🔥 Python 基础(九):列表
🔥 Python 基础(十):元组
🔥 Python 基础(十一):集合
🔥 Python 基础(十二):字典

热门专栏

👍 《Python入门核心技术》
👍 《IDEA 教程:从入门到精通》
👍 《Java 教程:从入门到精通》
👍 《MySQL 教程:从入门到精通》
👍 《大数据核心技术从入门到精通》

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年5月20日
下一篇 2023年5月20日

相关推荐