Python中如何定义函数 以及实参和形参的区别

简介: Python中如何定义函数 以及实参和形参的区别

在Python中,定义函数的基本语法是使用def关键字后跟函数名,然后是括号内的参数列表(形参),最后是一个冒号,接下来是缩进的代码块,即函数体。下面是一个简单的例子来讲解如何定义函数以及实参和形参的区别:

 

# 定义一个函数,名为greet,它接受一个形参name

 

def greet(name):

 

# 函数体开始,使用缩进来标识

 

message = "Hello, " + name + "!" 

 

# 使用print函数打印一条消息

 

print(message)

 

# 函数体结束

 

 

 

# 调用函数,传递一个实参'Alice'

 

greet('Alice') # 输出: Hello, Alice!

在这个例子中:

· greet 是函数名。

· name 是形参(形式参数),它是函数定义中声明的参数,用于接收传递给函数的值。

· 'Alice' 是实参(实际参数),它是调用函数时传递给函数的实际值。

形参和实参之间的主要区别如下:

1. 定义与位置

· 形参(形式参数)是函数定义中括号()里的变量,它们代表了函数调用时预期的输入。

· 实参(实际参数)是调用函数时传递给形参的具体值。

2. 存在时间

· 形参只在函数被调用时存在,函数执行完毕后它们就消失了。

· 实参是函数外部定义的变量或值,它们可以在函数被调用之前、之后或同时存在。

3. 数量与类型

· 形参的数量和类型由函数定义决定。

· 实参的数量和类型必须与形参匹配(除非使用了默认参数、可变参数等)。

4. 作用

· 形参用于接收实参的值,并在函数体内使用这些值。

· 实参用于向函数提供必要的信息,以便函数能够执行其任务。

下面是一个带有多个形参和默认形参的函数示例:

 

# 定义一个带有多个形参和默认形参的函数

 

def introduce(name, age, country='World'):

 

# 使用format方法格式化字符串

 

message = "My name is {}, I am {} years old, and I come from {}.".format(name, age, country)

 

print(message)

 

 

 

# 调用函数,传递所有实参

 

introduce('Bob', 30, 'USA')

 

# 输出: My name is Bob, I am 30 years old, and I come from USA.

 

 

 

# 调用函数,只传递部分实参,其余使用默认值

 

introduce('Alice', 25)

 

# 输出: My name is Alice, I am 25 years old, and I come from World.

在这个例子中,introduce 函数有三个形参:nameagecountry。其中 country 有一个默认值 'World'。在第一个函数调用中,我们传递了三个实参给形参。在第二个函数调用中,我们只传递了两个实参,因此 country 形参使用了其默认值。

注意,当调用函数时,实参必须按照形参的顺序提供,除非使用关键字参数(即参数名=值的形式),这样可以不按照顺序提供实参。例如:

 

introduce(country='Canada', name='Eve', age=28)

 

# 输出: My name is Eve, I am 28 years old, and I come from Canada.

在这个调用中,我们使用了关键字参数来指定每个实参对应的形参,这样即使实参的顺序与形参的顺序不同,也能正确地将实参传递给形参。

 

目录
相关文章
|
21天前
|
搜索推荐 Python
利用Python内置函数实现的冒泡排序算法
在上述代码中,`bubble_sort` 函数接受一个列表 `arr` 作为输入。通过两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素大于后一个元素,就将它们交换位置。
124 67
|
21天前
|
存储 开发者 Python
Python 中的数据结构与其他编程语言数据结构的区别
不同编程语言都有其设计理念和应用场景,开发者需要根据具体需求和语言特点来选择合适的数据结构
|
1月前
|
传感器 物联网 机器人
定义微Python
MicroPython 是一种精简高效的 Python 解释器,专为微控制器和嵌入式系统设计,支持通过 Python 代码进行快速开发和调试。它具有低资源消耗的特点,适用于物联网设备。
106 62
|
15天前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
42 18
|
6天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
37 8
|
13天前
|
Shell Python
[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量
本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。
27 9
|
16天前
|
Python
Python中的函数
Python中的函数
31 8
|
22天前
|
监控 测试技术 数据库
Python中的装饰器:解锁函数增强的魔法####
本文深入探讨了Python语言中一个既强大又灵活的特性——装饰器(Decorator),它以一种优雅的方式实现了函数功能的扩展与增强。不同于传统的代码复用机制,装饰器通过高阶函数的形式,为开发者提供了在不修改原函数源代码的前提下,动态添加新功能的能力。我们将从装饰器的基本概念入手,逐步解析其工作原理,并通过一系列实例展示如何利用装饰器进行日志记录、性能测试、事务处理等常见任务,最终揭示装饰器在提升代码可读性、维护性和功能性方面的独特价值。 ####
|
29天前
|
Python
Python中的`range`函数与负增长
在Python中,`range`函数用于生成整数序列,支持正向和负向增长。本文详细介绍了如何使用`range`生成负增长的整数序列,并提供了多个实际应用示例,如反向遍历列表、生成倒计时和计算递减等差数列的和。通过这些示例,读者可以更好地掌握`range`函数的使用方法。
45 5
|
1月前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
下一篇
DataWorks