Python入门系列二-控制结构与函数

在Python编程中,控制程序流程的结构非常重要。通过合理使用条件判断语句、循环结构和函数,可以让程序更加高效和可维护。此外,理解局部变量和全局变量的概念也是编写清晰代码的重要一步。本文将详细介绍Python中的控制结构和函数机制,包括如何使用ifelseelif进行条件判断,如何使用forwhile实现循环,如何定义和调用函数,以及如何管理参数、返回值和变量作用域。

1. 条件判断语句:ifelseelif

条件判断语句允许程序根据条件的真或假来决定执行哪个代码块。Python中最常用的条件判断语句包括ifelseelif

1.1 if语句

if语句用于检查一个条件表达式,如果条件为真,则执行相应的代码块。如果条件为假,代码块不会被执行。

python 复制代码
x = 10
if x > 5:
    print("x大于5")

在这个例子中,程序检查x > 5是否为真。因为x的值是10,所以输出将会是"x大于5"。

1.2 else语句

else语句在if条件不成立时执行。它可以跟在if语句后面,为条件不成立时提供备用的执行路径。

python 复制代码
x = 3
if x > 5:
    print("x大于5")
else:
    print("x小于等于5")

在这个例子中,x > 5为假,因此程序会执行else块,输出"x小于等于5"。

1.3 elif语句

elif是"else if"的缩写,用于检查多个条件。当if条件不成立时,程序会继续检查elif条件。如果elif条件成立,则执行对应的代码块。

python 复制代码
x = 7
if x > 10:
    print("x大于10")
elif x > 5:
    print("x大于5但不大于10")
else:
    print("x小于等于5")

在这个例子中,x > 10为假,接着程序会检查elif x > 5,并发现条件成立,因此输出"x大于5但不大于10"。


2. 循环结构:forwhile 循环

循环结构用于重复执行某段代码。Python提供了两种主要的循环结构:for循环和while循环。

2.1 for循环

for循环常用于遍历可迭代对象(如列表、字符串、字典等),它会依次取出序列中的每一个元素。

python 复制代码
fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)

输出:

apple
banana
cherry

在这个例子中,for循环遍历fruits列表中的每个元素,并逐个打印出来。

2.2 range()函数

range()函数通常与for循环一起使用,它可以生成一个指定范围的整数序列。

python 复制代码
for i in range(5):
    print(i)

输出:

0
1
2
3
4

range(5)生成了从0到4的整数序列。注意,range()的结束值是不包括的,因此会打印0到4。

2.3 while循环

while循环会在条件为真时持续执行,直到条件变为假。

python 复制代码
x = 0
while x < 5:
    print(x)
    x += 1

输出:

0
1
2
3
4

在这个例子中,while循环检查x < 5是否为真,如果为真就执行循环体,每次循环后x加1,直到x不再小于5时结束。

2.4 breakcontinue
  • break:用于提前退出循环,不再继续执行后面的迭代。
  • continue:用于跳过当前循环的剩余部分,进入下一次迭代。
python 复制代码
for i in range(5):
    if i == 3:
        break  # 当i等于3时退出循环
    print(i)

# 输出:
# 0
# 1
# 2
python 复制代码
for i in range(5):
    if i == 3:
        continue  # 当i等于3时跳过本次循环
    print(i)

# 输出:
# 0
# 1
# 2
# 4

3. 函数定义与调用

函数是将代码组织成可重用模块的基本单位。在Python中,函数通过def关键字定义,函数可以接收输入参数并返回结果。

3.1 定义函数

定义一个简单的函数,该函数接收两个参数,计算它们的和并返回结果。

python 复制代码
def add(x, y):
    return x + y

result = add(3, 5)
print(result)  # 输出 8
3.2 带有默认值的参数

函数的参数可以有默认值。如果调用函数时没有提供某个参数的值,函数将使用默认值。

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

greet()           # 输出 "Hello, Guest!"
greet("Alice")    # 输出 "Hello, Alice!"

在这个例子中,name参数的默认值为"Guest"。如果调用greet()时不提供name值,函数将使用默认值。

3.3 可变参数

有时函数需要接受任意数量的位置参数或关键字参数。*args**kwargs分别用于接收位置参数和关键字参数。

python 复制代码
def greet(*names):
    for name in names:
        print(f"Hello, {name}!")

greet("Alice", "Bob", "Charlie")
# 输出:
# Hello, Alice!
# Hello, Bob!
# Hello, Charlie!
python 复制代码
def person_info(**info):
    for key, value in info.items():
        print(f"{key}: {value}")

person_info(name="Alice", age=25)
# 输出:
# name: Alice
# age: 25
3.4 递归函数

递归函数是指函数自己调用自己。递归通常用于解决那些可以分解为子问题的任务,如计算阶乘。

python 复制代码
def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5))  # 输出 120

4. 参数与返回值

4.1 函数参数

Python中的函数参数可以是必需的,也可以是可选的。我们可以通过给参数提供默认值,使其变为可选参数。函数也可以接收任意数量的参数,使用*args**kwargs来接收可变数量的参数。

4.2 返回值

函数的返回值是使用return语句返回的。函数可以有多个返回值,通过返回一个元组来实现。

python 复制代码
def multiple_values():
    return 1, 2, 3

a, b, c = multiple_values()
print(a, b, c)  # 输出 1 2 3

5. 局部变量与全局变量

5.1 局部变量

局部变量是定义在函数内部的变量,只能在该函数内部访问。

python 复制代码
def my_function():
    x = 10  # x是局部变量
    print(x)

my_function()  # 输出 10
# print(x)  # 会报错,因为x是局部变量
5.2 全局变量

全局变量是在函数外部定义的,可以在整个程序中访问。全局变量可以在函数中通过global关键字修改。

python 复制代码
x = 5  # x是全局变量

def my_function():
    global x
    x = 10  # 修改全局变量x

my_function()
print(x)  # 输出 10

在这个例子中,我们使用global关键字声明x为全局变量,从而在函数内部修改它的值。


比你有钱的人,一定比你努力,比你努力的人,终有一天会比你有钱,生活本来就是平衡的,你不为赚钱付出辛苦,你就得为省钱烦恼

相关推荐
_周游1 小时前
【C语言】_指针与数组
c语言·开发语言
caron41 小时前
Python--正则表达式
python·正则表达式
SyntaxSage2 小时前
Scala语言的数据库交互
开发语言·后端·golang
是十一月末2 小时前
机器学习之过采样和下采样调整不均衡样本的逻辑回归模型
人工智能·python·算法·机器学习·逻辑回归
疯狂小料2 小时前
Python3刷算法来呀,贪心系列题单
开发语言·python·算法
码力全開2 小时前
C 语言奇幻之旅 - 第14篇:C 语言高级主题
服务器·c语言·开发语言·人工智能·算法
潇与上海2 小时前
【Python基础语法——数据容器】
python
lsx2024062 小时前
PHP Array:精通数组操作
开发语言
后端常规开发人员2 小时前
最好用的图文识别OCR -- PaddleOCR(2) 提高推理效率(PPOCR模型转ONNX模型进行推理)
python·ocr·onnx·paddleocr
samson_www2 小时前
Azure主机windows2008就地升级十步
后端·python·flask