iT邦幫忙

2024 iThome 鐵人賽

DAY 2
0
Python

初學者的 30 天 Python 復健課程系列 第 2

復健第二天:內建函數 Built-in Functions 與變數 Variables

  • 分享至 

  • xImage
  •  

感覺可以多走一些路

昨天非常概略地介紹了 Python 的基本知識後,今天依然要繼續慢慢行走的旅程,因為慢慢走比較快(九把刀說的?)。
今天的內容看似平凡,對我而言是學習許多程式語言都須具備的基本知識,所以我們出發吧!

什麼是內建函數 Built-in Function?

內建函數 built-in functions 像是我們新買來的 iPhone,裡面已經有預先安裝好許多的 app,例如:計算機、日曆、信箱,我們不用透過網路下載其他的 app,便能使用一些基本卻實用的功能。
在 Python 中有許多內建的函數,我們可以使用 print() 印出特定的物件,使用 len() 計算字串的數量或長度,使用 sum() 進行數字的加總等。

(下圖為 Python 中的內建函數)
Python 裡的內建函數

其中有一個特別想拿出來跟大家分享的內建函數——help(),是一個對於初學者來說非常重要卻也非常雞肋的函數。(那說來做什麼?)

在這個網路資訊、GPT 非常流通的時代,相較於閱覽說明書,我們更多時候會直接搜尋「如何使用 xxxx?」,但這並不代表「學會如何使用說明書」不重要,透過在 Python Interactive Shell 中使用 help(),可以讓我們查詢 Python 中的各項指令、關鍵字的使用方式。

# 查詢 Python 中所有預留的關鍵字
help('keywords')

# 查詢更多有關 string 的資訊
help(str)

什麼是變數 Variables?

變數 Variables 像是就像是電腦裡的資料夾,我們可以自由地命名、存放各種資料,裡面可以只放一個資料,也可以放許多的資料,後續也可以透過這些變數,進行許多的操作與運算。

如何命名變數?

雖然說可以自由地命名各種變數,但還是有一些小小的限制,一如爸媽不會把小孩命名為張鮭魚之夢(誤),在 Python 中,變數的命名也有一些建議與規則。

  • 通常會使用字母或是底線 underscore _ 開頭
  • 不能使用數字作為開頭
  • 同一個單字,大小寫會視為不同的變數(例如:firstnameFIRSTNAME 是不同的兩個變數)
  • 通常會將變數命名為直觀有意義的字詞
# 不合規範的命名
first-name
first@name
first$name
num-1
1num

隨著學習的程式語言越來越多,也會瞭解每個語言有自己的慣例 convention(行規?),像是 JavaScript 的變數會使用小駝峰(lower camel case)命名,Python 依循慣例則會使用蛇式(snake case 進行)命名,也就是使用底線 underscore _ 連接單字,例如:first_nameis_married 等。

如何使用變數?

資料夾如果不放東西,就是一個空的資料夾(廢話!),變數也需要在裡面儲放值 value,才會是一個有用的變數。透過宣告 declare賦值 assign 這兩個動作,我們得以使用並操作變數。

先說說賦值,我們透過使用 = 對變數進行賦值,也就是將我們想要儲放的資料 data 放在指定的變數裡面。

# 如何進行變數賦值
first_name = "Ray"
last_name = "Allen"
age = 70

回頭提及宣吿,有趣的是在 Python 中,我們可能沒辦法很明顯地感受到什麼是宣告,因為不像 JavaScript 會使用關鍵字 constlet 進行宣告,告訴程式說「這是一個變數喔!」,Python 在初次賦值的時候也順便(真的很順便)地進行了宣告,而無需透過指定的關鍵字。

這時候我們也可以運用稍早學到的內建函數 print() 印出變數裡的值,承接上面變數賦值的命名,此時如果我們使用 print(first_name),可以在 console 中印出 "Ray" 的字串。

如何同時命名多個變數?

如果說科技的進步源自偷懶,那創造科技的工程師想必是偷懶的根源,所以一次只能命名一個變數,對於工程師來說實在太慢了,如果有五個變數需要命名,那就一次五個一起來吧!(在座的各位通通都是垃圾,開玩笑的!)

# 同時命名多個變數
country, city, postal_code = "Taiwan", "Taipei", 106

# 這樣等同於
country = "Taiwan"
city = "Taipei"
postal_code = 106

如何讓使用者自行決定變數的值?

有的時候我們想要將使用者的回答當作變數的值,但我們又不可能透過讀心術,所以需要透過問題讓使用者自行輸入答案,我們再將這些答案進行變數賦值,為了達到這件事,我們可以使用內建函數 input() 來取得使用者的答案。

name = input("What is your name?") 
# 這時候 console 會跳出 "What is your name?" 這個問題
# 我們可以輸入 Jay
# 變數 name 此時被賦值 "Jay"

print(name) # console 會印出 Jay 的字串

如何查詢變數的資料型態 Data Types

第一天的復健之路文章裡,我們有提及 Python 中的各種資料型態,如:字串、布林值、整數等,在這裡我們也可以使用內建函數 type() 來查詢變數的資料型態,藉由判別資料型態,我們才能決定後續該如何操作這些變數。

month = "December"
day = 25

print(type(month)) # 印出 str
print(type(day)) # 印出 int

後記

寫到第二天,發現這一切比想像的難多了,經常陷入「只能意會,不能言傳」的困境裡,心中最常浮現的念頭是「啊就這樣這樣,然後變成這樣,不就這樣?」,卻沒辦法好好用文字說明腦袋中的知識內容,更不用說還要把這些概念用人類聽得懂語言進簡化摘要,也許在復健 Python 的同時,我也正在進行文字書寫的復健。


上一篇
復健第一天:重新回憶起 Python 的一切
下一篇
復健第三天:布林值 Boolean 與運算子 Operators
系列文
初學者的 30 天 Python 復健課程13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言