[TIL#2] Python 自學 day2 變數

變數是一個程式語言,一開始需要學習的基礎,瓦特歐今天要來介紹

Python 常看到的變數型態寫法,例如: int、float、list、dictionary、 tuple

大家可以打開Jupyter notebook 或 Spyder一起玩看看?

由於python 不用像其他語言一樣需要變數宣告,因此可以使用type(),來幫我們確認目前型態是甚麼?

首先先講變數型態,變數就是裝一些數字或者文字的東西?


int(整數): int 就是 數字看到的 1、2、3之類的數字,pyhton並沒有限制
int最大上限,因此不用擔心像C語言一樣去擔心數值超過上限!


程式碼:
a= 20200802
print(type(a))
print(a)

輸出:
<class ‘int’>
20200802


float(浮點數):float就是 帶有小數點的數字,例如圓周率:3.14159。


程式碼:
b=3.14159
print(type(b))
print(b)

輸出:
<class ‘float’>
True


bool(布林): bool是一種只有真(True)或假(False)值的變數。

程式碼:
c=True
print(type(c))
print(c)

輸出:
<class ‘bool’>
True


String(字串):String 一定要用” ” 或者’ ‘
去把你想放的字裝起來:
“放你想放的字”或者’放你想放的字’
是因為電腦其實只看得懂數字,雖然我們人類看到的是”字”
但是背後電腦看到的其實是一串編碼,解說連結:
UTF-8 and ASCII


程式碼:
d=”today is a good day”
print(type(d))
print(d)

輸出:
<class ‘str’>
today is a good day

容器變數: 容器就是把一堆東西裝在一起?,容器裡物品有多少可以使用,len( ) 確認容器裝多少東西

List(清單):List用來裝,各種宣告的變數的集合

程式碼:
a= 20200802
b=3.14159
c=True
d=”today is a good day”
Walterou_List=[a,b,c,d]
print(Walterou_List)
print(type(Walterou_List))

輸出:
[20200802, 3.14159, True, ‘today is a good day’]
<class ‘list’>


解說:
請看是輸出,就是把上面的a、b、c、d用[ ]裝起來?
那裝起來有甚麼好處呢? 答案是這樣你就能使用Walterou_List加上
index去拿到對應的資料!

解說index:
程式語言通常稱list內容物為array,通常是0-base,0-base指的是,假設Walterou_List內有4個變數,每個變數都有自己的號碼並且第一個index為0,如此圖:

各位朋友可以試試下面這段程式碼,看看會印出甚麼~
print(Walterou_List[0])#20200802
print(Walterou_List[1])#3.14159
print(Walterou_List[2])#True
print(Walterou_List[3])#today is a good day

眼尖的朋友,應該已經發現,其實印出來的結果,瓦特歐用#放在後面當註解給大家答案了?,註解就是給我們當附註用的文字,註解不會被電腦執行?

那既然是容器,總得有方法可以,增加、刪除、更換容器內的物品,請繼續往下看?,那為了簡化,我們將Walterou_List的內容物改成,zero,one,two,three,four。
程式碼: Walterou_List=[“zero”,”one”,”two”,”three”,”four”]

List增加元素:

方法一:append
程式碼:
Walterou_List=[“zero”,”one”,”two”,”three”,”four”]
Walterou_List.append(“newitem”)
print(Walterou_List)


輸出:
[‘zero’, ‘one’, ‘two’, ‘three’, ‘four’, ‘newitem’]

解說:append 會在List最後一個元素,接上append(“內容物”)

方法二:insert
程式碼:
Walterou_List=[“zero”,”one”,”two”,”three”,”four”]
Walterou_List.insert(2,”newitem”)
print(Walterou_List)


輸出:
[‘zero’, ‘one’, ‘newitem’, ‘two’, ‘three’, ‘four’]

解說:insert會在您指定的index後接上insert(“內容物”)


方法三:extend
程式碼:
Walterou_List=[“zero”,”one”,”two”,”three”,”four”]
Walterou_List.extend([“five”,”newitem”])
print(Walterou_List)


輸出:
[‘zero’, ‘one’, ‘two’, ‘three’, ‘four’, ‘five’, ‘newitem’]

解說:extend能將另外一個List接上目前的List。

List刪除元素:

方法一:remove
程式碼:
Walterou_List=[“zero”,”one”,”two”,”three”,”four”]
Walterou_List.remove(“two”)
print(Walterou_List)


輸出:
[‘zero’, ‘one’, ‘three’, ‘four’]

解說:remove會去刪除List裡面第一個找到的(“內容物”)

方法二:pop
程式碼:
Walterou_List=[“zero”,”one”,”two”,”three”,”four”]
Walterou_List.pop()
print(Walterou_List)


輸出:
[‘zero’, ‘one’, ‘two’, ‘three’]

解說:pop 會做兩個動作: 删除 List 的最后一个元素, 然後傳回删除元素的值。

List索引:

方法一:index
程式碼:
Walterou_List=[“zero”,”one”,”two”,”three”,”four”]
Walterou_List.index(“two”)


輸出:
2

解說:index會在List內尋找,第一個跟(“內容物”)數值一樣的index,並且回傳index。

dictionary(字典):
dictionary 和 List有點相似,但主要是引進了,Key 和 value的觀念!

程式碼:
Student1_dict = {‘Name’: ‘walter’, ‘Age’: 24, ‘Gender’: ‘Male’, ‘Major’:’electronic’}
print(Student1_dict)


輸出:
{‘Name’: ‘walter’, ‘Age’: 24, ‘Gender’: ‘Male’, ‘Major’: ‘electronic’}

各位朋友可以試試下面這段程式碼,看看會印出甚麼~
print(Student1_dict[‘Name’])#walter
print(Student1_dict[‘Age’])#24
print(Student1_dict[‘Gender’])#Male
print(Student1_dict[‘Major’])#electronic

聰明的大家,應該已經發現,其實dict就是能讓index變成有意義的key,這樣大家就可以創造許多的dict,用同一個key去調資料出來看?

那dictionary也是容器,就擁有增加、修改、刪除的方法,讓我繼續為大家介紹下去?

dict增加元素:

方法一:update
程式碼:
Student1_dict = {‘Name’: ‘walter’, ‘Age’: 24, ‘Gender’: ‘Male’, ‘Major’:’electronic’}
New_dict={‘Habit’:’Swim’}
Student1_dict.update(New_dict)
print(Student1_dict)


輸出:
{‘Name’: ‘walter’, ‘Age’: 24, ‘Gender’: ‘Male’, ‘Major’: ‘electronic’, ‘Habit’: ‘Swim’}

解說:update會將update(“要加進去的key &value”)放入原本的dict


方法二:直接給值
程式碼:
Student1_dict = {‘Name’: ‘walter’, ‘Age’: 24, ‘Gender’: ‘Male’, ‘Major’:’electronic’}
Student1_dict[‘Habit’]=’Swim’
print(Student1_dict)


輸出:
{‘Name’: ‘walter’, ‘Age’: 24, ‘Gender’: ‘Male’, ‘Major’: ‘electronic’, ‘Habit’: ‘Swim’}

解說:直接使用原先不存在的key,直接給不存在的key,賦予數值,就會直接下入dict內。

dict刪除元素:

方法一:del
程式碼:
Student1_dict = {‘Name’: ‘walter’, ‘Age’: 24, ‘Gender’: ‘Male’, ‘Major’:’electronic’}
del Student1_dict[‘Age’]
print(Student1_dict)


輸出:
{‘Name’: ‘walter’, ‘Gender’: ‘Male’, ‘Major’: ‘electronic’}

解說:del 會將對應的key的資料,進行刪除!

方法二:pop
Student1_dict = {‘Name’: ‘walter’, ‘Age’: 24, ‘Gender’: ‘Male’, ‘Major’:’electronic’}
Student1_dict.pop(‘Age’)
print(Student1_dict)


輸出:
{‘Name’: ‘walter’, ‘Gender’: ‘Male’, ‘Major’: ‘electronic’}

解說:pop 會做兩個動作: 删除 dic中key對應的資料, 然後傳回删除元素的值

方法三:clear
Student1_dict = {‘Name’: ‘walter’, ‘Age’: 24, ‘Gender’: ‘Male’, ‘Major’:’electronic’}
Student1_dict.clear()
print(Student1_dict)


輸出:
{}

解說:clear 會將dict內的key與value全部刪除!

dict索引:

方法一:in dict.keys
程式碼:
Student1_dict = {‘Name’: ‘walter’, ‘Age’: 24, ‘Gender’: ‘Male’, ‘Major’:’electronic’}
print(‘Habit’ in Student1_dict.keys())
print(‘Name’ in Student1_dict.keys())


輸出:
False
True

解說:in會去,尋找dict中所有的key,是否有您查詢的key,如果有回傳True否則回傳False

tuple(數組):
tuple和list基本上很像,只差在,list內容可改,但是tuple內容不能改,因此就不介紹,增加、刪除等方法,直接看怎麼創造,tuple

程式碼:
Walterou_tuple=(“zero”,”one”,”two”,”three”,”four”)
print(Walterou_tuple)


輸出:
(‘zero’, ‘one’, ‘two’, ‘three’, ‘four’)
大家如果想知道去改tuple會發生甚麼事?
請使用下面這段程式碼,瓦特歐就不公布答案了?:
Walterou_tuple=(“zero”,”one”,”two”,”three”,”four”)
print(Walterou_tuple)
Walterou_tuple[0]=”five”

總結一下三種容器的創造方式與特色:

感謝收看,這就是今天的python的變數介紹~?

瓦特歐Python介紹系列:
[TIL#1] Python 自學 day1 Anaconda
[TIL#2] Python 自學 day2 變數
[TIL#3] Python 自學 day3 流程控制
[TIL#4] Python 自學 day4 製作執行檔
[TIL#5] Python 自學 day5 執行檔更換icon
[TIL#6] Python 自學 day6 PIL浮水印、圖片大小變更
[TIL#7] Python 自學 day7 大量圖片Resize 處理 懶人包
[TIL#8] Python 自學 day8 GUI製作- 使用Tkinter Grid管理器
[TIL#9] Python 自學 day9 GUI製作 放入圖片 grid 版本
[TIL#10] Python 自學 day10 創造圖片的拼貼
[TIL#11] Python 自學 day11 matplotlib 統計圖、長條圖、圓餅圖、散佈圖


Leave a Comment