19.从入门到精通:Python函数 定义一个函数 函数调用 参数传递

简介: 19.从入门到精通:Python函数 定义一个函数 函数调用 参数传递

Python函数


定义一个函数

我来定义一个函数示例:

def greet(name):
    """
    给定一个名字,打印问候语
    """
    print("Hello, " + name + "! How are you doing today?")
# 调用函数
greet("Alice")

1.这是一个简单的函数,它接受一个参数 name,并打印一句问候语。函数的定义以关键字 def 开始,后面是函数名greet,圆括号里是参数 name。

2.冒号表示函数定义的结束,下一行缩进的代码块是函数体。在函数体中,我们使用 print() 函数打印问候语,其中 name是我们传递的参数。

3.最后,我们调用函数 greet() 并传递参数 “Alice”,输出结果为: Hello, Alice! How are youdoing today?


这只是一个简单的函数示例,函数可以有更多的参数、返回值和复杂的逻辑。函数是 Python

编程中非常重要的概念,可以帮助我们组织代码、提高代码的可读性和可维护性。


函数调用

*在Python中,函数调用是通过函数名和一组参数来实现的。函数名用于指定要调用的函数,而参数则用于向函数传递数据。*以下是一个示例,展示如何调用一个名为print_message()的函数,并向其传递一个字符串参数:

def print_message(message):
    print(message)
# 调用函数
print_message('Hello, World!')

输出结果为:

Hello, World!

1.在这个示例中,我们定义了一个名为print_message()的函数,它接受一个参数message,并使用print()函数将其打印出来。

2.我们调用print_message()函数,并向其传递一个字符串参数’Hello,

World!'。函数将会被执行,并将字符串’Hello, World!'打印出来。


函数调用是Python编程中的一个基本概念,它允许我们将代码组织成模块化的结构,并可以在需要时重复使用。在Python中,函数调用是一个非常常见的操作,几乎所有的Python程序都会使用函数调用来完成各种任务。


参数传递

在 Python 中,函数的参数传递有两种方式:传值调用和传引用调用。

传值调用:将实际参数的值复制一份传递给函数,函数中对参数的修改不会影响到实际参数的值。这种方式适用于传递不可变对象(如数字、字符串、元组等)。

传引用调用:将实际参数的地址传递给函数,函数中对参数的修改会影响到实际参数的值。这种方式适用于传递可变对象(如列表、字典等)。

下面举个例子来说明:

def func1(x):
    x = x + 1
    print("x in func1:", x)
def func2(lst):
    lst.append(4)
    print("lst in func2:", lst)
a = 1
func1(a)
print("a after func1:", a)
b = [1, 2, 3]
func2(b)
print("b after func2:", b)
输出结果为:
x in func1: 2
a after func1: 1
lst in func2: [1, 2, 3, 4]
b after func2: [1, 2, 3, 4]

1.在上面的例子中,我们定义了两个函数 func1 和 func2,分别对传递的参数进行修改。在调用 func1 函数时,我们传递了一个整数 a,由于整数是不可变对象,所以在函数中对参数 x 的修改不会影响到实际参数 a 的值。

2.而在调用 func2 函数时,我们传递了一个列表 b,由于列表是可变对象,所以在函数中对参数 lst 的修改会影响到实际参数 b 的值。

3.需要注意的是,在 Python 中,函数参数的传递方式与其他编程语言有所不同。在其他编程语言中,通常只有传值调用一种方式,而在Python 中,传值调用和传引用调用都是可行的。


相关文章
|
21天前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
205 7
|
1月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
125 1
|
1月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
184 1
|
2月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
268 1
|
1月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
118 0
|
2月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
251 101
|
1月前
|
Cloud Native 算法 API
Python API接口实战指南:从入门到精通
🌟蒋星熠Jaxonic,技术宇宙的星际旅人。深耕API开发,以Python为舟,探索RESTful、GraphQL等接口奥秘。擅长requests、aiohttp实战,专注性能优化与架构设计,用代码连接万物,谱写极客诗篇。
Python API接口实战指南:从入门到精通
|
1月前
|
存储 Java 调度
Python定时任务实战:APScheduler从入门到精通
APScheduler是Python强大的定时任务框架,通过触发器、执行器、任务存储和调度器四大组件,灵活实现各类周期性任务。支持内存、数据库、Redis等持久化存储,适用于Web集成、数据抓取、邮件发送等场景,解决传统sleep循环的诸多缺陷,助力构建稳定可靠的自动化系统。(238字)
361 1
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
248 102
|
2月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
280 104

推荐镜像

更多