跳转至

Python局部变量 - 小房间里的玩具!

1. 什么是局部变量?让我们一起想象...

想象你有一个玩具房间!在这个房间里的玩具,只能在这个房间里玩。如果你出了房间,就不能玩这些玩具了。Python的局部变量就像这些玩具一样,它们只能在特定的"房间"(函数)里使用!

2. 让我们玩个游戏!

2.1. 玩具房间游戏

def toy_room():
    # 这是玩具房间
    toy = "小熊玩偶"  # toy是一个局部变量,就像房间里的玩具
    print(f"在房间里可以玩:{toy}")

# 调用函数,进入玩具房间
toy_room()

# 这里不能玩toy,因为它在房间里!
try:
    print(toy)  # 这会报错,因为toy只存在于toy_room里
except NameError:
    print("出了房间就找不到玩具啦!")

2.2. 不同房间的玩具

def room1():
    toy = "积木"  # 这个房间的toy是积木
    print(f"房间1里有:{toy}")

def room2():
    toy = "玩具车"  # 这个房间的toy是玩具车
    print(f"房间2里有:{toy}")

# 每个房间都有自己的玩具
room1()
room2()

3. 局部变量的特点

3.1. 只在自己的房间里有效

def magic_room():
    magic_number = 42  # 这个数字是房间的秘密
    print(f"房间里的神奇数字是:{magic_number}")

magic_room()
try:
    print(magic_number)  # 这会报错,因为出了房间就不知道这个数字了
except NameError:
    print("出了房间就不知道神奇数字是多少啦!")

3.2. 不同房间可以用相同的名字

def cat_room():
    pet = "小猫"  # 这个房间养了小猫
    print(f"这个房间里有:{pet}")

def dog_room():
    pet = "小狗"  # 这个房间养了小狗
    print(f"这个房间里有:{pet}")

# 两个房间可以都用pet这个名字,但是代表不同的宠物
cat_room()
dog_room()

4. 有趣的例子

4.1. 生日派对游戏

def birthday_party():
    # 这些都是派对房间里的局部变量
    cake = "巧克力蛋糕"
    balloons = 10
    friends = ["小明", "小红", "小华"]

    print("生日派对开始啦!")
    print(f"我们有:{cake}")
    print(f"气球数量:{balloons}")
    print(f"来的朋友:{friends}")

# 开始派对!
birthday_party()

# 派对结束后,这些东西就不能用了
try:
    print(cake)
except NameError:
    print("派对结束了,蛋糕吃完啦!")

4.2. 魔法口袋游戏

def magic_pocket():
    # 口袋里的东西都是局部变量
    items = []

    def add_item(item):
        items.append(item)
        print(f"口袋里现在有:{items}")

    add_item("魔法棒")
    add_item("彩虹糖")
    add_item("幸运星")

# 玩魔法口袋游戏
magic_pocket()

5. 小贴士

  1. 记住局部变量的规则
  2. 就像房间里的玩具,只能在房间里玩
  3. 出了房间就不能用了
  4. 不同的房间可以有相同名字的玩具

  5. 使用局部变量的好处

  6. 每个房间的玩具都不会乱
  7. 不同房间的玩具不会混在一起
  8. 用完就自动收起来,不会乱放

  9. 注意事项

  10. 记得在用之前先"准备"(定义)变量
  11. 不要试图在房间外使用房间里的东西
  12. 如果需要带出房间的东西,要用特殊的方法(返回值)

记住:局部变量就像是房间里的玩具,玩的时候要在房间里,出了房间就不能玩啦!这样可以让我们的玩具(变量)整整齐齐,不会乱成一团!

进一步学习