Python基础编程3:深入函数、模块和异常处理293
大家好,欢迎来到Python基础编程系列的第三篇!在前两篇中,我们学习了Python的基本语法、数据类型和控制流语句。在本篇中,我们将深入探讨函数、模块以及异常处理,这些都是编写更强大、更易维护Python程序的关键概念。
一、 函数(Functions) 的进阶
函数是组织代码、提高代码可重用性和可读性的重要工具。我们已经学习了函数的基本定义和调用,现在让我们进一步了解一些高级特性。
1. 参数传递: Python 函数的参数传递方式是“传递对象引用”,这意味着函数接收的是参数对象的引用,而不是对象的副本。对于不可变对象(如数字、字符串、元组),函数内部的修改不会影响原始对象;而对于可变对象(如列表、字典),函数内部的修改会影响原始对象。理解这一点对于避免潜在的bug至关重要。```python
def modify_list(my_list):
(4)
my_list = [1, 2, 3]
modify_list(my_list)
print(my_list) # 输出:[1, 2, 3, 4] 可变对象被修改
def modify_string(my_string):
my_string += "!"
my_string = "hello"
modify_string(my_string)
print(my_string) # 输出:hello 不可变对象未被修改
```
2. 默认参数: 函数可以设置默认参数,当调用函数时不提供该参数时,使用默认值。这使得函数更加灵活易用。```python
def greet(name, greeting="Hello"):
print(f"{greeting}, {name}!")
greet("Alice") # 输出:Hello, Alice!
greet("Bob", "Good morning") # 输出:Good morning, Bob!
```
3. 可变参数: 使用 `*args` 可以接收任意数量的位置参数,将它们打包成一个元组;使用 `kwargs` 可以接收任意数量的关键字参数,将它们打包成一个字典。这使得函数能够处理不同数量的参数。```python
def my_function(*args, kwargs):
print("Positional arguments:", args)
print("Keyword arguments:", kwargs)
my_function(1, 2, 3, a=4, b=5)
```
4. 递归函数: 函数可以调用自身,这就是递归函数。递归函数需要有一个终止条件,否则会无限循环。斐波那契数列就是一个经典的递归函数示例。```python
def fibonacci(n):
if n
2025-05-27
ActiveState Perl:告别依赖地狱,构建稳定高效的企业级Perl开发环境
https://jb123.cn/perl/72317.html
Perl编程:深度解析其独特魅力与现代应用价值
https://jb123.cn/perl/72316.html
Perl数据抓取实战:告别手动复制,轻松搞定网页表格提取!
https://jb123.cn/perl/72315.html
掌握JavaScript Try...Catch:告别崩溃,写出更健壮的前端代码
https://jb123.cn/javascript/72314.html
手机Python编程:你的移动代码工坊,随时随地开启编程之旅!
https://jb123.cn/python/72313.html
热门文章
Python 编程解密:从谜团到清晰
https://jb123.cn/python/24279.html
Python编程深圳:初学者入门指南
https://jb123.cn/python/24225.html
Python 编程终端:让开发者畅所欲为的指令中心
https://jb123.cn/python/22225.html
Python 编程专业指南:踏上编程之路的全面指南
https://jb123.cn/python/20671.html
Python 面向对象编程学习宝典,PDF 免费下载
https://jb123.cn/python/3929.html