iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
AI & Data

名詞很多不用忍一下-時間序列分析補帖系列 第 4

Day4 Python 基礎教學 (三)

介紹完一些基礎的語法之後,來做個 python 型別的介紹,

型別介紹

內建型別

python 有內建四種型別,

分別為:

  • 布林 ( bool )
  • 整數 ( int )
  • 浮點數 ( float )
  • 字串 ( str )
而對他們簡單做個介紹:

布林值 bool 這個型別就代表著 真 True 或 假 False 是控制流程的好幫手,
整數 int 這個型別就是不帶小數點的數,例如 123 就是個整數,
浮點數 float 相較於整數,浮點數就是有帶小數點的數,例如 123.124 是浮點數,
字串 string 字串就是我們一般在使用的文字,使用方式就是用單或雙引號把內容包起來,
所以'123.123'則是字串不是浮點數。

而內建型別是可以進行型別轉換的,
例如:
>>> text1 = '123'
>>> text2 = int(text1)
>>> print(text2)
123

我們首先定義 text1 為 '123' 型別為字串,
再來我們將 text2 定義成 把 text1 轉換成 int 型別,
接下來輸出便會是一個整數 123 。
其他的一通百通,
型別轉換簡單來說就是將想轉換的元素括號起來轉換成想轉換的型別,
變數名稱 = 想轉換的型別(元素) ,大概這樣。

集合型別

集合型別有下列五種:

  • Numbers(數字)
  • String(字串)
  • List(列表)
  • Tuple(元組)
  • Dictionary(字典)

String(字串)

字串是 Python 中最常用的數據類型。
可以使用單引號 '' 或雙引號 "" 來創建字串,
創建字串很簡單,只要為變量分配一個值即可。

例如:

>>> string1 = "abc"
>>> print(string1)
abc

>>> string2 = '123'
>>> print(string2)
123

而在python中,我們可以透過[]來截取自己想要的部分,
假設我們想要新增一個字串 test1 並將它定義為 測試用 ,
但在實際輸出時,只想輸出『用』,那我們能這樣做,

>>> test1 = "測試用"
>>> print(test1[2])
用

可看見我們 print(test1[]) 中的方框,數值為2,
按造常理的運算,對應 2 的文字應為『試』,但在程式語言中,
數數值通常由 0 開始,由此為運算,恰可知曉,
>>> test1 = "測試用"
             0 1 2
計算方式應為如此。

而字串除了截取,亦可進行連接,
>>> print(test1 + string1)
測試用abc

只要在括號內將兩個字串變數名做 + 即可連接字串。

更多用法:

https://www.runoob.com/python/python-strings.html

List(列表)

序列是Python中最基本的數據結構。
序列中的每個元素都分配一個數字即它的位置或索引,
第一個索引是0,第二個索引是1,依此類推。

Python有6個序列的內建類型,但最常見的是列表 (List) 和元組 (Tuple)。

序列都可以進行的操作包括索引,切片,加,乘,檢查成員。

此外,Python已經內建查詢序列的長度以及確定最大和最小的元素的方法。

創建一個列表,只要用逗號分隔不同的數據並使用方框括起來即可。
如下所示:

>>> list1 = [ 1 , 2 , 3 , 4 , 5 ]
>>> print(list1)
[1, 2, 3, 4, 5]

>>> list2 = ['dog','cat','bird']
>>> print(list2)
['dog', 'cat', 'bird']

List中可擁有數值、字串,
而當使用者想取得List中的值,則可這樣使用,
>>> print(list2[0])
dog
>>> print(list2[2])
bird

由此可看出,List中取值與截取的方式概念共通,
取值的基準點都是由 0 開始數,
而List比較特別的一點是它可以進行更新刪除,
假設我們今天有一個 List3 = ['test'] 
更新:
>>> list3.append('newword')
>>> print(list3)
['test', 'newword']

我們可以透過 .append 這個方式來為列表新增一個值,
而刪除的概念很雷同,
刪除:
>>> del list3[1]
>>> print(list3)
['test']

當我們使用 del 並指定 list 某一位置時,便可刪除該指定位置之值,
上述例子中列表原有 test 即 newword , 我們指定位址為 1 之值進行刪除,
便只剩下 test 。

List 的操作還有許多種,
譬如:
len() 是用於算出該列表的長度,
>>> len(list1)
5

List可透過 + 號來將不同數值的 List 來進行組合,
>>> list4 = list1 + list2 
>>> print(list4)
[1, 2, 3, 4, 5, 'dog', 'cat', 'bird']

或者查詢特定數值或字串是否存在於列表當中,
>>> print('dog' in list4)
True

除此之外,列表還有許多實用的用法,例如:

test_list = ["dog","cat"]

index()方法,
可以將要尋找的串列元素傳入,它會回傳該元素的位置索引值,
print(test_list.index("cat"))

count()方法,
則是可以計算該元素於列表中的個數,
print(test_list.count("cat"))

更多用法:

https://www.runoob.com/python/python-lists.html

Tuple(元組)

在Python中,元組與列表很類似,概念不同之處在於元組的元素不能修改。

元組使用小括號,列表使用方括號。

元組創建很簡單,Tuple只需要在小括號內新增元素即可創建元組,

>>> tuple1 = ('1','2','3')
>>> tuple2 = ('dog','cat')
>>> print(tuple1)
('1', '2', '3')
>>> print(tuple2)
('dog', 'cat')

如此便完成了創建一個元組,
在介紹中我們提到元組是不能進行修改的,但它可以被組合成新的一個元組,
例如:
>>> tuple3 = tuple1 + tuple2
>>> print(tuple3)
('1', '2', '3', 'dog', 'cat')

如同列表與字串一樣,但在 python 中,運用 + 號,便可將大多類型進行組合了,
附註一點,
元組(Tuple)雖然不能被修改,但是,是可以被整個刪除的,可是不能只刪除一個數值,
例如:
>>> del tuple3
>>> print(tuple3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tuple3' is not defined

如此便會產生 NameError 告訴說 tuple3 沒有被宣告。
而元組的 len() 與相關用法與列表相同,就不多做介紹。

更多用法:

https://www.runoob.com/python/python-tuples.html

Dictionary(字典)

字典是另一種可變容器模型,且可存儲任意類型對象。
字典中的每個鍵值 key to value 都用冒號 : 來做分隔,
每個鍵值之間用逗號 , 分隔, 整個字典包括在 括號 {} 中,

格式如下所示:
>>> dict1 = { 'a' : 1 , 'b' : 2 , 'c' : '3' }
>>> print(dict1)
{'a': 1, 'b': 2, 'c': '3'}

上述的例句中,key 為 a , b , c , value 為 1 , 2 , 3 ,
大多情況下 key 通常為 : 冒號前方之值,且 key 是唯一的,
如果 key 有重複的狀況,後者的數值會取代前者的數值,
例如:
>>> dict2 = {'a':1 , 'a':2}
>>> print(dict2)
{'a': 2}

整個 Dictionary 可理解為 a 為 1 , b 為 2 如此,
所以當然的 a 不可能同時為 1 又為 2 ,
在字典中值可以為任何數據類型,但 key 必須是不可變的,如字符串,數字或元組。

而字典中要取特定的數值相較於其他的數據類型是較為簡單的,
例如我們定義一個 dict4 = { 'name':'apple' , 'age':'18'}
當我們想知道 name 為何時,便可將對應之 key 輸入,
>>> print(dict4['name'])
apple

便會得到對應數值為何,如果當要尋找的數值不存在於字典當中,
就會回報 keyError ,

字典同樣是允許被新增刪除修改的,
其餘的用法如 len()等與元組列表也大概相同,便不多做介紹。

更多用法:

https://www.runoob.com/python/python-dictionary.html

好,真的好多字,部分內容來源整理至網上資料,
對於型態也有補充及示例,
大家看完做完應該也累了吧 XDDD,

那今天推薦的歌曲是 鄭興 的 城南,
https://www.youtube.com/watch?v=sOome7baXD0&list=PLZ_d6NX2sE80hzNRr9aQD06aJkRc0oxVU&index=8&ab_channel=%E9%84%AD%E8%88%88XingZheng


上一篇
Day3 Python 基礎教學 (二)
下一篇
Day5 Python 基礎教學 (四)
系列文
名詞很多不用忍一下-時間序列分析補帖5

尚未有邦友留言

立即登入留言