iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
自我挑戰組

學習python連續30天系列 第 3

為什麼 enemies = 2,最後印出來還是 1?

  • 分享至 

  • xImage
  •  

Python 裡的 global

一開始我看到這段:

enemies = 1

def increase_enemies():
enemies = 2

increase_enemies()

print(enemies)

我原本以為最後會印出:

2

但其實答案是:

1


原因是函式裡面的:

enemies = 2

是函式自己的區域變數,也就是 Local Variable。

外面的:

enemies = 1

則是 Global Variable。

雖然名字都叫 enemies,但它們不是同一個變數。

如果我真的想要在函式裡修改外面的 enemies,就可以寫:

enemies = 1

def increase_enemies():
global enemies
enemies += 2

increase_enemies()

print(enemies)
結果會是:

3


上一篇
用python找質數
系列文
學習python連續30天3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言