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.

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

 

目录
相关文章
|
5月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
355 2
|
5月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
764 1
|
5月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
307 0
|
6月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
323 101
|
6月前
|
缓存 测试技术 Python
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
271 99
|
6月前
|
存储 缓存 测试技术
Python装饰器:优雅地增强函数功能
Python装饰器:优雅地增强函数功能
344 98
|
6月前
|
缓存 Python
Python中的装饰器:优雅地增强函数功能
Python中的装饰器:优雅地增强函数功能
|
7月前
|
Python
Python 函数定义
Python 函数定义
700 155
|
8月前
|
PHP Python
Python format()函数高级字符串格式化详解
在 Python 中,字符串格式化是一个重要的主题,format() 函数作为一种灵活且强大的字符串格式化方法,被广泛应用。format() 函数不仅能实现基本的插入变量,还支持更多高级的格式化功能,包括数字格式、对齐、填充、日期时间格式、嵌套字段等。 今天我们将深入解析 format() 函数的高级用法,帮助你在实际编程中更高效地处理字符串格式化。
692 0
|
5月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
249 4

推荐镜像

更多