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. 小贴士¶
- 记住局部变量的规则:
- 就像房间里的玩具,只能在房间里玩
- 出了房间就不能用了
-
不同的房间可以有相同名字的玩具
-
使用局部变量的好处:
- 每个房间的玩具都不会乱
- 不同房间的玩具不会混在一起
-
用完就自动收起来,不会乱放
-
注意事项:
- 记得在用之前先"准备"(定义)变量
- 不要试图在房间外使用房间里的东西
- 如果需要带出房间的东西,要用特殊的方法(返回值)
记住:局部变量就像是房间里的玩具,玩的时候要在房间里,出了房间就不能玩啦!这样可以让我们的玩具(变量)整整齐齐,不会乱成一团!