Skip to content

變數 variable

tags: python

Declear and assign a variable

試想如果今天我們要計算園遊會中,可樂賣了幾罐,可以這麼做:

python
# 可樂賣的數量
print("可樂賣了:", end='')
print(10, end = '')
print("罐")
# output: 可樂賣了10罐

如果過了幾分鐘,又多賣出5罐,可以寫成:

python
# 可樂賣的數量
print("可樂賣了:", end='')
print(10+5, end='')
print("罐")
# output: 可樂賣了15罐

雖然這樣可以進行記錄,但如果想要進行後續計算會顯得有點麻煩。 這時候我們可以使用一個「變數」將可樂的銷量給儲存起來:

python
# 可樂的數量
numberOfCoke = 10
print(numberOfCoke)
# output: 10

numberOfCoke = 10代表有一個變數叫做「numberOfCoke」,其值為10。 變數的命名基本上可以自己決定,這邊採用的叫做「小駝峰」命名法,也就是以小寫為開頭,並且遇到別的字的開頭改為大寫。採用有意義的命名可以讓你的程式易於維護。 (當然,命名是有限制的,在這裡不贅述。)

使用變數的好處多多,例如後面如果又賣了5罐,就可以這樣寫:

python
# 可樂的數量
numberOfCoke = 10
numberOfCoke = numberOfCoke + 5
print(numberOfCoke)
# output: 15

要注意這邊的「等於符號」跟一般數學上的意義稍有差別。 程式中的等於符號代表「assign(賦值、指派)」,也就是「將等號右邊的東西指派給等號左邊的變數」。 因此numberOfCoke = numberOfCoke + 5應看作:numberOfCoke原本為10,加了5之後得到15,重新指派給numberOfCoke這個變數,此時numberOfCoke就變成了15。

有了變數的概念,你可以做更多事。例如可樂每罐售價25,成本18元,你可以計算總收益。

python
numberOfCoke = 10
numberOfCoke = numberOfCoke + 5

priceOfCoke = 25
costOfCoke = 18

incomeOfCoke = numberOfCoke * (priceOfCoke - costOfCoke)

print(incomeOfCoke)
# output: 105

這時候你可能會想,那為什麼不要直接算15 * (25-18)就好,還要特地把他們變成變數然後再計算? 試想如果某天成本提高,成本變成20元,你想提高售價變成28元。此時應該怎麼修改程式? 當你看著上面的範例程式,很淺顯易懂的知道要修改priceOfCokecostOfCoke,但如果你當初只有紀錄數字,過了一陣子再回頭看,你記得自己在寫什麼嗎?

Exercise

  • 你進貨了25罐可樂,用一個變數來記錄它。如:numberPurchaseOfCoke
  • 你想紀錄銷量,因此用一個變數紀錄賣的數量。如:numberSoldOfCoke
  • 每罐可樂的成本是18元
  • 每罐可樂售價25元。
  • 你覺得數量不夠,又進貨了30罐。
  • 園遊會結束,賣了40罐,請算出總收益。(總收益=總成本-總收入)

Wrapping up

  • 變數可以使用「小駝峰」命名法。
  • 命名最好有意義,可以幫助維護程式。
  • 利用變數可以讓程式容易被理解。
  • 利用變數可以讓重複的值容易修改。

Little Project

想像你現在在規畫一個活動,或是開一間店。你需要估算成本、預計收益,你想將這些複雜的計算交給程式來做,而你需要的只是去變更某項數值,就可以得到計算結果。例如想觀察進貨100件跟進貨200件的差異。

  • 為你的計算命名【我的XXX計算】,例如:我的貓咪咖啡店計算
  • 列出可能的成本,把它變成變數、抽象化。記得進行適當的命名以增加閱讀性。
  • 列出可能的收入,把它變成變數、抽象化。
  • 利用print寫出你關心的資訊。