iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 10
0
AI & Data

看對話學 Python 資料分析,用情境故事帶你入門系列 第 10

Day-10 蘋果橘子不一樣!了解數值資料型態(上)

  • 分享至 

  • xImage
  •  


離島我來囉!Meiko戴著太陽眼鏡,準備出發前往離島旅遊,這過程會發生什麼有趣的事?讓我們看下去...Licensed by Adobe Stock

字串型態

這天 Meiko 和 Jason 來到了百貨公司的咖啡廳,Meiko 準備採買她週末要旅行的配備,正煩惱著要如何整理背包裡面的東西。

Meiko:「Jason,最近我想要去離島走走,你知道去離島都會帶些隨身的旅行用品,如果我想要在背包裡面,裝其他的東西的話,你會怎麼做啊?」

Jason:「要不把你想帶的東西,寫在串列裡面讓我看一下?]

Meiko:「哈哈,Jason 你也轉太快了吧?我是要放在真的背包裡面拉,不過既然你這樣考我了,那我就來展現一下我高超的程式水平。我要帶『太陽眼鏡、隱形眼鏡、暈車藥、防曬乳』,我把這些都裝到travelBag裡面。」

travelBag=[太陽眼鏡,隱形眼鏡,暈車藥,防曬乳]

Meiko:「誒,Jason,它怎麼說 NameError: name ‘太陽眼鏡’ is not defined?

Jason:「因為你的travelBag串列,現在放的是文字string ,它的格式不對,你需要把『太陽眼鏡』前後要加上單引號或雙引號",這樣程式才會辨識出來它是字串,用正確的格式儲存它!」

travelBag=['太陽眼鏡','隱形眼鏡','暈車藥','防曬乳']
print (travelBag)

Meiko:「原來是這樣,這程式也蠻挑嘴的,不小心就會讓人弄錯資料,還好它會告訴我們什麼是對的、什麼是不對的,這樣我們下次就知道不要再犯同樣錯誤!」

Jason:「其實還有些規則需要注意的,」

Meiko:「怎麼那麼多規則呀?難道這些規則都要背起來嗎?」

數值型態

Jason:「其實我都沒有在背的,因為常用的就那幾個項目,比如說字串 string(str)、整數 integer(int)、浮點數 floating-point (float)、布林值 (bool)。而且,我已經教過你字串str,你看上面的'太陽眼鏡'這種文字有單引號的,就是一種字串拉。那整數int就是 0,1,2,3 ..,浮點數float就是有小數點的數字比如說 1.3 這就屬浮點數,那布林值就是TrueFalse。」

Meiko:「那我要怎麼知道,一個數值是什麼類型 type?」

Jason:「很簡單,比如說,你現在有一個變數travelUse,你可以用type(travelUse)

travelUse1 ='太陽眼鏡'
print (travelUse1)
print (type(travelUse1))

你看,travelUse1就是一種字串,程式印出來它的類型type()是一種'str'。」

Meiko:「太陽眼鏡通常會和防曬乳放在一起,那我要怎麼在電腦上呈現咧?比如說我這樣打

travelUse1 ='太陽眼鏡'
travelUse2 ='防曬乳'
print (travelUse1)
print (travelUse2)

字串『太陽眼鏡』及『防曬乳」直接顯示。
Meiko:「不是拉,你這樣把字都黏在一起,我是要怎麼讀?我想要的是『太陽眼鏡和防曬乳』」

Jason:「我就是要讓你自己練習看看,既然你都已經會了兩個字串一起顯示出來,如果要有『和』放在『太陽眼鏡』和『防曬乳』中間,你會怎麼做?」

Meiko:「我可能會把『和』單獨存成一個變數吧?叫什麼名字好?叫connectString好了,

travelUse1 ='太陽眼鏡'
travelUse2 ='防曬乳'
connectString='和'
print (travelUse1+connectString+travelUse2)

Jason:「看起來,你學會了字串操作了唷!來我再跟你講一個小撇步,叫做Casting型別轉換」

Meiko:「型別轉換?什麼時候會用到?」

Jason :「有的時候你在抓取資料的時候,看起來是數字的形式,可是實際上它卻是字串,如果你這時候直接把字串拿起來加減運算,程式就會出現錯誤訊息給你。」

Meiko:「好抽象唷,舉個例子?」

Jason:「我用一個簡單的例子給你看,比如說我今天中午吃了一個漢堡 100元,喝了一杯可樂 30 元,像下面這樣,我故意把他們存成字串,然後把他們加在一起,讓你看看程式會怎麼回應?」

hamburger='80'
drink='30'
sum=hamburger+drink
print (sum)

Meiko:「怪了,他們看起來都像數字啊,可是怎麼不能把他們加起來?而是並排放在一起?」

Jason:「因為現在變數hambugerdrink儲存的內容都是字串呀,不然你可以把他們的型態印出來?」

hamburger='80'
drink='30'
sum=hamburger+drink
print (sum)
print (type(hamburger))
print (type(drink))

Meiko:「真的耶,那該怎麼辦?」

Jason:「所以我們就要把他們 Cosplay 變身一下,讓他們從字串變成整數的型態,這樣就可以相加了。」

hamburger='80'
drink='30'
intHambuger=int(hamburger)
intDrink=int(drink)

你看,我用int()函式,int是 integer 的縮寫,可以把字串轉成數字,分別把 hamburger 和 drink 丟進去,然後輸出了 intHamburger 和 int Drink。接著我們再把 intHamburger 和 intDrink 這兩個變數做相加,就可以得到數字型態的答案囉。」

hamburger='80'
drink='30'
intHambuger=int(hamburger)
intDrink=int(drink)
sum = intHamburger + intDrink
print (sum)

Meiko:「原來是這樣,你的意思就是把他們都變成數字的型態,才能夠進行加法的運算!好像也是這樣拉,就像我們不會把蘋果和橘子放在一起比大小!」

Jason:「對啊,所以如果是要做數字的運算,就應該把所有的變數都轉成數字才是!不過寫程式有個好處,就是寫錯了大不了改一下就好,也不會有什麼逞罰,只要你看到錯誤訊息的時候,去思考哪邊犯錯了,記得去修改就可以了。」

牛刀小試

我大寶寶~拉,今天還沒把所有的數值資料型態的內容講完,但有沒有學到程式的資料也有些基本的語法規則?可以自己設定不同的資料內容到串列裡面,把今天學會的技巧實際演練一次。透過熟悉這些數值資料型態,老實說大寶寶處理資料時,最常使用的就是字串str、整數int和浮點數float,熟悉這三種資料型態,基本的資料處理都沒問題囉!可以請你試著打字串存到變數裡面,再用type()印出型態,看有沒有跟自己想的一樣?

給大寶寶留言、分享、鼓勵

歡迎登入留言跟我分享你的想法唷!(登入不麻煩,點一下 FB 登入就可以留言了!)

1.喜歡這樣方式學 Python 的朋友請留言『+1』
2.如果前面的內容忘記了,趕快看一下大寶寶這一系列的看對話學 Python 資料分析,用情境故事帶你入門的列表!就能夠繼續 Happy Coding 囉!


上一篇
Day-9 學會串列的進階操作,從生手到上手(下)
下一篇
Day-11 蘋果橘子不一樣!了解數值資料型態(下)
系列文
看對話學 Python 資料分析,用情境故事帶你入門30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言