零基础入门Python·基础篇(二)控制流语句和函数

Python是一种广泛使用的高级编程语言,以其清晰的语法和强大的功能而闻名。无论是初学者还是经验丰富的开发者,Python都提供了一个简洁而高效的编程平台。控制流和函数是Python编程中最基本也是最重要的概念之一。控制流语句允许程序根据不同的条件执行不同的操作,而函数则提供了一种封装和重用代码的方法。本文将介绍Python中的控制流语句(包括if语句、match语句、for循环和while循环)以及函数的基本概念,包括定义、调用、参数、返回值和作用域。通过这些基础知识,你将能够编写更加复杂和高效的Python程序。

控制流

在Python中,控制流是指程序在执行时决定从一个代码块转移到另一个代码块的逻辑。控制流语句可以根据不同的条件执行不同的代码路径,循环遍历数据结构,或者在满足特定条件时重复执行代码。这里提供一个简单的控制流模块教程,包括 if 语句、match 语句、for 循环和 while 循环。

if语句

if 语句用于基于条件执行代码。如果条件为真,执行 if 块中的代码;否则,执行 else 块中的代码(如果有的话)。

python 复制代码
def test_age(age):
    if age >= 18:
        print("You are an adult.")
    else:
        print("You are a minor.")

match case选择

match 语句是Python 3.10中引入的,它类似于其他语言中的 switchcase 语句。它允许你匹配一个值的多个可能模式,并根据匹配执行不同的代码块。

python 复制代码
def http_status(status):
    match status:
        case 200:
            return "OK"
        case 404:
            return "Not Found"
        case 418:
            return "I'm a teapot"
        case _:
            return "Something's wrong with the internet"

for循环

for 循环用于遍历序列(如列表、元组、字典、集合或字符串)中的每个元素,并对每个元素执行代码块。

python 复制代码
def print_fruits(fruits):
    for fruit in fruits:
        print(fruit)

while循环

while 循环会在条件为真时重复执行代码块。如果条件从未为真,则循环体中的代码不会执行。

python 复制代码
def count_to_five():
    count = 1
    while count <= 5:
        print(count)
        count += 1

综合控制流模块教程

python 复制代码
# 控制流模块教程

# if语句示例
def test_age(age):
    if age >= 18:
        print("You are an adult.")
    else:
        print("You are a minor.")

# match case示例
def http_status(status):
    match status:
        case 200:
            return "OK"
        case 404:
            return "Not Found"
        case 418:
            return "I'm a teapot"
        case _:
            return "Something's wrong with the internet"

# for循环示例
def print_fruits(fruits):
    for fruit in fruits:
        print(fruit)

# while循环示例
def count_to_five():
    count = 1
    while count <= 5:
        print(count)
        count += 1

# 使用示例
test_age(20)  # 应输出: You are an adult.
print(http_status(404))  # 应输出: Not Found
print_fruits(["apple", "banana", "cherry"])  # 应逐行输出: apple, banana, cherry
count_to_five()  # 应逐行输出: 1, 2, 3, 4, 5

这段展示了如何在Python中使用基本控制流语句。你可以将这些函数和示例作为控制流的基础结构,并在实际编程中根据你的需求进行调整和扩展。

函数

在Python中,函数是组织代码的重要方式,它们允许你将代码块封装为一个单元,这个单元可以被重复调用和使用。下面是有关函数的定义、调用、参数、返回值以及作用域的简要教程。

定义和调用

函数通过 def 关键字定义,后跟函数名和括号内的参数列表。函数体开始于下一行,并且必须缩进。

python 复制代码
def greet(name):
    return f"Hello, {name}!"

调用函数就是执行函数定义中的代码。你可以通过在函数名后加上括号并传入所需的参数来调用函数。

python 复制代码
message = greet("Alice")
print(message)  # 输出: Hello, Alice!

参数和返回值

函数可以接受参数,这些参数是执行函数体时可以使用的值。参数可以是必需的,也可以是可选的(带有默认值)。

python 复制代码
def power(base, exponent=2):
    return base ** exponent

在这个例子中,base 是必需的参数,而 exponent 是可选的,默认为2。函数通过 return 语句返回值。

python 复制代码
result = power(3)  # 使用默认的指数,输出: 9
result = power(3, 3)  # 指定指数,输出: 27

作用域

在Python中,变量的作用域是由它在代码中的位置决定的。如果一个变量在函数体内部定义,它就是局部变量,只能在函数内部访问。

python 复制代码
def increment(number):
    result = number + 1  # result是一个局部变量
    return result

# print(result)  # 这会产生一个错误,因为result在这里不可见

如果变量在函数外部定义,它就是全局变量,可以在代码的任何地方访问。

python 复制代码
counter = 0  # counter是一个全局变量

def update_counter():
    global counter
    counter += 1  # 我们告诉Python我们想要使用全局counter变量

update_counter()
print(counter)  # 输出: 1

综合函数模块教程

python 复制代码
# 函数模块教程

# 定义函数
def greet(name):
    """Greet a person with their name."""
    return f"Hello, {name}!"

# 带有默认参数的函数
def power(base, exponent=2):
    """Return the base to the power of exponent."""
    return base ** exponent

# 函数作用域示例
def increment(number):
    result = number + 1  # result是一个局部变量
    return result

# 全局变量示例
counter = 0  # counter是一个全局变量

def update_counter():
    global counter  # 指定我们要使用的是全局变量counter
    counter += 1

# 使用函数
print(greet("Bob"))  # 输出: Hello, Bob!
print(power(4))  # 输出: 16
print(power(4, 3))  # 输出: 64
print(increment(5))  # 输出: 6

update_counter()
print(counter)  # 输出: 1

通过本文的介绍,我们了解了Python中控制流和函数的基本概念和用法。控制流语句使得程序能够根据不同的条件执行不同的代码路径,而函数则允许开发者将代码封装成可重用的单元,从而提高了代码的模块性和复用性。理解和掌握这些概念对于每个Python程序员来说都是至关重要的。随着对这些基础知识的深入学习和实践,你将能够构建更加复杂、高效和可维护的Python应用程序。希望本文能为你在Python编程旅程中提供坚实的基础,并激励你继续探索Python提供的更多高级特性和最佳实践。

相关推荐
疯一样的码农4 分钟前
Python 正则表达式(RegEx)
开发语言·python·正则表达式
代码之光_19805 分钟前
保障性住房管理:SpringBoot技术优势分析
java·spring boot·后端
ajsbxi10 分钟前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
颜淡慕潇1 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
进击的六角龙1 小时前
Python中处理Excel的基本概念(如工作簿、工作表等)
开发语言·python·excel
一只爱好编程的程序猿1 小时前
Java后台生成指定路径下创建指定名称的文件
java·python·数据下载
Aniay_ivy2 小时前
深入探索 Java 8 Stream 流:高效操作与应用场景
java·开发语言·python
gonghw4032 小时前
DearPyGui学习
python·gui
向阳12182 小时前
Bert快速入门
人工智能·python·自然语言处理·bert
engchina2 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j