当前位置:首页>python>Python 学习第 3 天:if 判断、for 循环和函数,开始写点像样的代码了

Python 学习第 3 天:if 判断、for 循环和函数,开始写点像样的代码了

  • 2026-08-26 16:00:43
Python 学习第 3 天:if 判断、for 循环和函数,开始写点像样的代码了

大家好,我是大华!

今天是学习 Python 的第三天,前面2天学习了基础的语法,今天来学习一下 if 条件判断、for 和 while 的循环,还有函数的定义和调用。

内容不多,每天学习一点点。

一、条件判断:if/elif/else语句

基本语法:

单个条件判断

age = 18if age >= 18:    print("您已成年,可以进入")else:    print("抱歉,未满18岁不能进入")

多个条件判断

score = 85if score >= 90:    print("优秀")elif score >= 80:    print("良好")  # 输出这个elif score >= 60:    print("及格")else:    print("不及格")

简化写法(三元表达式)

age = 20status = "成年" if age >= 18 else "未成年"print(status)  # 输出:成年

多个条件组合

temperature = 28is_weekend = Trueif temperature > 25 and is_weekend:    print("适合去游泳")elif temperature > 25 or is_weekend:    print("可以考虑户外活动")else:    print("宅家吧")

二、for循环:遍历序列元素

主要用于遍历列表、元组、字符串等序列

# 基础遍历fruits = ["苹果", "香蕉", "橙子", "葡萄"]for fruit in fruits:    print(f"我喜欢吃{fruit}")# 使用range()生成数字序列for i in range(5):  # 0,1,2,3,4    print(f"这是第{i+1}次循环")# 同时获取索引和值for index, fruit in enumerate(fruits):    print(f"第{index+1}个水果是:{fruit}")

什么时候用 for?当你明确知道要遍历什么,或者循环多少次时,用 for。

三、while循环:条件循环

只要条件为True,就一直执行

# 基础while循环count = 0while count < 5:    print(f"计数:{count}")    count += 1  # 不要忘记更新条件变量!# 用户交互示例password = ""while password != "123456":    password = input("请输入密码:")print("登录成功!")

无限循环(需要break退出)

while True:    command = input("请输入命令(输入quit退出):")    if command == "quit":        print("程序退出")        break    print(f"执行命令:{command}")

什么时候用 while?当你不知道要循环多少次,只知道什么时候停时,用 while。

使用 while 时一定要注意:

  • • 条件必须有机会变为 False
  • • 否则很容易写出死循环

四、循环控制:break 和 continue

循环中的"交通信号灯"

break:立即退出整个循环

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]for num in numbers:    if num == 5:        print("遇到5,终止循环")        break    print(num)# 输出:1 2 3 4

continue:跳过本次循环,继续下一次

for num in range(1, 11):    if num % 2 == 0:  # 如果是偶数        continue       # 跳过后续代码    print(f"{num}是奇数")# 输出:1 3 5 7 9

结合使用

data = [23, 45, -10, 78, -5, 0, 99]valid_data = []for value in data:    if value < 0:        print(f"发现负数{value},跳过")        continue    if value > 100:        print(f"数值{value}过大,停止处理")        break    valid_data.append(value)print(f"有效数据:{valid_data}")

五、函数的定义与调用

基本语法(下一节会写清楚一些):

# 定义函数def greet():    print("Hello, Python!")    print("欢迎学习函数!")# 调用函数greet()  # 输出两行问候语# 带参数的函数def greet_person(name):    print(f"你好,{name}!")greet_person("小明")  # 输出:你好,小明!greet_person("李华")  # 输出:你好,李华!

5.1、参数传递的多种方式

1. 位置参数(最常见)

def introduce(name, age, city):    print(f"我叫{name},今年{age}岁,来自{city}")# 按照定义顺序传递参数introduce("张三", 25, "北京")  # 正确introduce(25, "北京", "张三")  # 错误!顺序不对

输出结果:

我叫张三,今年25岁,来自北京我叫25,今年北京岁,来自张三

2. 关键字参数(提高可读性)

# 使用参数名指定值,顺序可以打乱introduce(name="李四", city="上海", age=30)introduce(age=22, name="王五", city="广州")

输出结果:

我叫李四,今年30岁,来自上海我叫王五,今年22岁,来自广州

3. 默认参数(简化调用)

def order_food(dish, quantity=1, spicy_level="微辣"):    print(f"您点了:{dish} ×{quantity},辣度:{spicy_level}")order_food("宫保鸡丁")  # 使用默认值:1份,微辣order_food("麻辣香锅", 2, "中辣")  # 覆盖默认值order_food("水煮鱼", spicy_level="特辣")  # 只修改部分默认值

输出结果:

您点了:宫保鸡丁 ×1,辣度:微辣您点了:麻辣香锅 ×2,辣度:中辣您点了:水煮鱼 ×1,辣度:特辣

4. 可变参数(处理不定数量参数)

# *args:接收任意数量的位置参数(元组形式)def sum_numbers(*args):    total = 0    for num in args:        total += num    return totalprint(sum_numbers(1, 2, 3))      # 6print(sum_numbers(1, 2, 3, 4, 5)) # 15# **kwargs:接收任意数量的关键字参数(字典形式)def print_info(**kwargs):    for key, value in kwargs.items():        print(f"{key}: {value}")print_info(name="张三", age=25, city="北京")

输出结果:

615name: 张三age: 25city: 北京

5.2、返回值:函数的结果输出

没有返回值

def say_hello(name):    print(f"Hello, {name}!")    # 没有return语句,默认返回Noneresult = say_hello("Tom")print(result)  # 输出:None

有单个返回值

def add(a, b):    """返回两个数的和"""    return a + bsum_result = add(3, 5)  # sum_result = 8print(f"3 + 5 = {sum_result}")

有多个返回值(返回元组)

def calculate(x, y):    """返回加减乘除的结果"""    return x + y, x - y, x * y, x / ya, b, c, d = calculate(10, 2)  # 元组解包print(f"和:{a}, 差:{b}, 积:{c}, 商:{d}")

5.3、作用域:变量的可见范围

# 全局变量global_var = "我是全局变量"def test_scope():    global global_var  # 必须先声明    # 局部变量    local_var = "我是局部变量"    print(f"函数内访问全局变量:{global_var}")    print(f"函数内访问局部变量:{local_var}")    # 修改全局变量    global_var = "全局变量已被修改"test_scope()# print(local_var)  # 报错:局部变量不能在函数外访问print(f"函数外访问全局变量:{global_var}")

输出结果:

函数内访问全局变量:我是全局变量函数内访问局部变量:我是局部变量函数外访问全局变量:全局变量已被修改

今天的学习内容先到这里。如果有不对或者需要补充的地方,欢迎指正。

如果你觉得文章写的还不错,不妨点赞、推荐,转发给你的朋友看一下。

最新文章

随机文章