狠狠撸

狠狠撸Share a Scribd company logo
Python-Basic
Benson
Python-Basic
(一)Python-print
(二)Python-input
(三)Python-變數
(四)Python-邏輯與比較運算
(五)Python-算術與賦值運算(一)(二)
(六)Python-位元運算
(七)Python-條件語句
(八)Python-循環語句
(九)Python- break/continue
(十)Python- List/Tuples/Dictionaries(一)(二)(三)
(十一)Python- Function
(十二)Python- 類別 class
(十三)Python- 檔案處理
Python-Basic
(一)Python-print
★所有的程式語言都是從輸出"Hello World"字串出發,當然學習 Python 也不例外,那麼就
先從 print "Hello World"開始.
In [1]: print("Hello World")
Hello World
Python-Basic
(二)Python-input
★有輸出就有輸入,有 output(print)就有 input,可以利用 input 與程式作溝通了.
In [1]: print("Who am I?")
Who am I?
In [2]: input()
Benson
Out[2]: 'Benson'
Python-Basic
(三)Python-變數
★變數就是將可變化的內容由字母或符號代表,方法很簡單,以”=”作區隔,等號的右邊的值賦
予給左邊的變數.有四種基本類型:
整數:不包含小數
浮點數:包含小數
字串:表示一文字串,需要將文字串含括在''或""裡面.
布林:用來表示邏輯“是”,“否”,也就是 Ture 和 False.
In [1]: My_name = "Benson"
In [2]: My_age = 35
In [3]: Your_age = 35.3
In [4]: print("My_name=", My_name)
My_name= Benson
In [5]: print("My_age=", My_age)
My_age= 35
In [6]: print("Your_age=", Your_age)
Your_age= 35.3
In [7]: print("My_age > Your_age=", My_age > Your_age)
My_age > Your_age= False
Python-Basic
(四)Python-邏輯與比較運算
★透過邏輯與比較運算來比較兩個數值,進而得到一個布林(bool)值,而布林值的
True/False 取決於比較之後的結果.
>: 大於
<: 小於
>=: 大於等於
<=: 小於等於
==: 等於. 比較左右兩邊的數值是否相等.
!= : 不等於
not: 邏輯“否”. 如果 x 為 True, 則 not x 為 False
and: 邏輯“與”. 如果 x 為 True, 且 y 為 True, 則 x and y 為 True
or: 邏輯“或”. 如果 x、y 中至少有一個為 True, 則 x or y 為 True
In [1]: 1 > 0
Out[1]: True
In [2]: 1 < 0
Out[2]: False
In [3]: 1 >= 0
Out[3]: True
In [4]: 1 <= 0
Out[4]: False
Python-Basic
In [5]: 1 == 0
Out[5]: False
In [6]: 1 != 0
Out[6]: True
In [7]: not 1
Out[7]: False
In [8]: not 0
Out[8]: True
In [9]: 1 and 0
Out[9]: 0
In [10]: 1 or 0
Out[10]: 1
Python-Basic
(五)Python-算術與賦值運算(一)
★算術運算就如同常見的四則運算和商數、餘數及指數(冪).
+: 加法, 將兩個數值相加
-: 減法, 將兩個數值相減
*: 乘法, 將兩個數值相乘或是字串被重覆顯示數次
/: 除法, 將兩個數值相除
//: 取商數(整數), 將兩個數值相除並取商數
%: 取餘數, 將兩個數值相除並取餘數
**: 指數運算, 將兩個數值作指算
In [1]: 5+2
Out[1]: 7
In [2]: 5-2
Out[2]: 3
In [3]: 5*2
Out[3]: 10
In [4]: 'abc' * 2
Out[4]: 'abcabc'
In [5]: 5/2
Out[5]: 2.5
Python-Basic
In [6]: 5//2
Out[6]: 2
In [7]: 5%2
Out[7]: 1
In [8]: 5**2
Out[8]: 25
Python-Basic
(五)Python-算術與賦值運算(二)
★賦值運算是基於算術運算再加上”=”符號.
+=: 加法賦值, 將兩個數值相加的結果賦值給等號左邊的變數
-=: 減法賦值, 將兩個數值相減的結果賦值給等號左邊的變數
*=: 乘法賦值, 將兩個數值相乘或是字串被重覆顯示數次的結果賦值給等號左邊的變數
/=: 除法賦值, 將兩個數值相除的結果賦值給等號左邊的變數
//=: 取商數(整數)賦值, 將兩個數值相除並取商數賦值給等號左邊的變數
%=: 取餘數賦值, 將兩個數值相除並取餘數賦值給等號左邊的變數
**=: 指數賦值運算, 將兩個數值作指算並賦值給等號左邊的變數
In [1]: a = 5; b = 2
In [2]: a += b
In [3]: a
Out[3]: 7
In [4]: b
Out[4]: 2
Python-Basic
In [5]: a = 5; b = 2
In [6]: a -= b
In [7]: a
Out[7]: 3
In [8]: b
Out[8]: 2
In [9]: a = 5; b = 2
In [10]: a *= b
In [11]: a
Out[11]: 10
In [12]: b
Out[12]: 2
In [13]: a = 5; b = 2
In [14]: a /= b
In [15]: a
Out[15]: 2.5
In [16]: b
Out[16]: 2
Python-Basic
In [17]: a = 5; b = 2
In [18]: a //= b
In [19]: a
Out[19]: 2
In [20]: b
Out[20]: 2
In [17]: a = 5; b = 2
In [18]: a %= b
In [19]: a
Out[19]: 1
In [20]: b
Out[20]: 2
In [21]: a = 5; b = 2
In [22]: a **= b
In [23]: a
Out[23]: 25
In [24]: b
Out[24]: 2
Python-Basic
In [25]: str_a = 'NBA'; b = 2
In [26]: str_a *= b
In [27]: str_a
Out[27]: NBANBA
In [28]: b
Out[28]: 2
Python-Basic
(六)Python-位元運算
★位元運算就是將數字轉成二進制來進行運算
&: 將兩個二進制數值作“與”的運算
|: 將兩個二進制數值作“或”的運算
^: 將兩個二進制數值作“互斥或”的運算
~: 將二進制數值作“反”的運算
<<: 將二進制數值作“左移”的運算
>>: 將二進制數值作“右移”的運算
In [1]: numa = 20; numb = 19
In [2]: bin(numa)
Out[2]: '0b10100'
In [3]: bin(numb)
Out[3]: '0b10011'
In [4]: bin(numa & numb)
Out[4]: '0b10000'
In [5]: bin(numa | numb)
Out[5]: '0b10111'
In [6]: bin(numa ^ numb)
Out[6]: '0b111'
Python-Basic
In [7]: bin(~numa)
Out[7]: '-0b10101'
In [8]: bin(numa << 2)
Out[8]: '0b1010000'
In [9]: bin(numa >> 2)
Out[9]: '0b101'
Python-Basic
(七)Python-條件語句
★條件語句就是如果-則(if-then),當執行到 if 語句時,會去判斷是否滿足條件式,如果滿
足為”True”,就會去執行接下來的程式內容;如果為”False”,就會跳過判斷下的程式內
容.在撰寫條件語句時有兩點要注意,1.條件式後面要有冒號(:),2.執行的語句要縮排.
語法 2:
if 條件式 1:
執行的語句 1
elif 條件式 2:
執行的語句 2
else:
執行的語句 3
語法 1:
if 條件式:
執行的語句
Python-Basic
In [1]: num1 = 1; num2 = 3
In [2]: if num1 > num2:
print("num1 > num2")
if num1 < num2:
print("num1 < num2")
num1 < num2
In [3]: if num1 > num2:
print("num1 > num2")
elif num1 < num2:
print("num1 < num2")
else:
print("num1 = num2")
num1 < num2
Python-Basic
(八)Python-循環語句
★循環語句可以使用 for 或 while 來重覆做一作事情,當給定的判斷條件成立時,將執行循環
語句,直到退出循環語句.在撰寫循環語句時需與條件語句一樣要注意這兩點,1.循環式後面
要有冒號(:),2.執行的語句要縮排.
語法 1: for,使用串列(mylist)作為控制條件,並以串列裡的元素做循環輸出.
NumList = [num_1, num_2, num_3]
for var in NumList:
print(var)
語法 2: for,使用 range(num1,num2,num3)作為控制條件,並以 range 中的參數做循環
輸出. Num3 為每次循環增減的數字(default=1).如果 num3 為正數,則循環起始值為 num1,
最終值為 num2-1;如果 num3 為負數,則循環起始值為 num1,最終值為 num2+1。
for var in range(num1,num2,num3):
print(var)
語法 3: while
var = num1
while 判斷條件(True):
執行語句
Python-Basic
In [1]: NumList = [1,2,3,4,5]
In [2]: for i in NumList:
print(i)
1
2
3
4
5
In [1]: for i in range(0,5,1):
print(i)
0
1
2
3
4
Python-Basic
In [1]: i = 0
In [2]: while i < 5:
i = i + 1
print(i)
1
2
3
4
5
Python-Basic
(九)Python- break/continue
★在循環語句中如果想要強行終止並跳出循環本體或者略過這次循環下的內容並繼續下次的
循環,使得在撰寫循環語句更有彈性,那麼就需要使用到 break 和 continue.
break: 強行終止並跳出循環本體
In [1]: for i in range(0,5,1):
if i == 3:
break
print(i)
0
1
2
In [1]: i = 0
In [2]: while i < 5:
i = i + 1
if i == 3:
break
print(i)
1
2
Python-Basic
continue: 略過這次循環下的內容並繼續下次的循環
In [1]: for i in range(0,5,1):
if i == 3:
continue
print(i)
0
1
2
4
In [1]: i = 0
In [2]: while i < 5:
i = i + 1
if i == 3:
continue
print(i)
1
2
4
5
Python-Basic
(十)Python- List/Tuples/Dictionaries(一)
★List(序列)是一個數據結構,透過 list 將一個序列轉換成一個列表,也就是將序列中的每
一個元素都給予一個位置代號,就如同陣列的索引一樣.第一個位置的索引為 0,第二個位置的
索引為 1,…,第 n 個位置的索引為 n.經由 list 的轉換就可以直接對索引和對應的元素進行插
入、取代和刪除等操作.使用方法很簡單,list 是使用小括號,只需要在序列前後加入單引號
(‘’)或雙引號(“”)並放在小括號內就可以(如語法 1).另一個是直接建立一個 list(列表),
方法也很簡單,只需要每個元素數據或字串用逗號分隔並放在中括號即可(如語法 2).
語法 1: list(‘string’)
Temp_list = list('string')
語法 2: ['string1', num1, 'string2', num2]
Temp_list = ['string1', num1, 'string2', num2]
In [1]: Temp_list = list('Happy New Year')
In [2]: print(Temp_list)
['H', 'a', 'p', 'p', 'y', ' ', 'N', 'e', 'w', ' ', 'Y', 'e', 'a', 'r']
In [1]: Temp_list = ['Year:', 2019, 'Month:', 2, 'Day:', 4]
In [2]: print(Temp_list)
['Year:', 2019, 'Month:', 2, 'Day:', 4]
Python-Basic
★介紹如何查詢 list 的元素、取代、加入和刪除等操作.
[查詢]首先要知道每個元素的對應位置的索引,第一個元素的位置索引為 0,依序加 1.直到最
後一個元素,並將要查詢的位置索引放在中括號內即可查詢到相對應的元素.
In [1]: Temp_list = ['Year:', 2019, 'Month:', 2, 'Day:', 4]
In [2]: print(Temp_list)
['Year:', 2019, 'Month:', 2, 'Day:', 4]
In [3]: print('Idx0=',Temp_list[0],', Idx1=',Temp_list[1],',
Idx2=',Temp_list[2],', Idx3=',Temp_list[3],', Idx4=',Temp_list[4],',
Idx5=',Temp_list[5])
Idx0= Year: , Idx1= 2019 , Idx2= Month: , Idx3= 2 , Idx4= Day: , Idx5= 4
Python-Basic
[取代]先要知道是哪個元素要被取代,而這些要被取代的元素所對應位置的索引是什麼?如果
想取代年份 2019、月份 02 和日 4 成為年份 2018、月份 12 和日 31,那麼所對應的位置索引
分別為[1]、[3]和[5].
In [1]: Temp_list = ['Year:', 2019, 'Month:', 2, 'Day:', 4]
In [2]: Temp_list[1] = 2018
In [3]: Temp_list[3] = 12
In [4]: Temp_list[5] = 31
In [5]: print(Temp_list)
['Year:', 2018, 'Month:', 12, 'Day:', 31]
Python-Basic
[加入]加入有四個方法,分別為 append(), extend(), insert(),和+的符號.
append(): 將新增的元素或 list 放到另一個 list 最後面的位置,所加入的 list 會保持原
結構加入到最後的位置.舉例說,原 Org_list 有 3 層抽屜,抽屜裡的物品分別為 A,B,C,欲加
入至Org_list的New_list有2層抽屜,抽屜裡的物品分別為D,E,加入之後Update_list
就有 4 層抽屜,第 1 層抽屜的物品為 A, 第 2 層抽屜的物品為 B, 第 3 層抽屜的物品為 C, 第
4 層抽屜的物品為 D 和 E,也就是說第 4 層包含了 New_list 的 2 層抽屜的物品.
In [1]: Temp_list_append = []
In [2]: Temp_list_year = ['Year:', 2019]
In [3]: Temp_list_month = ['Month:', 2]
In [4]: Temp_list_day = ['Day:', 4]
In [5]: Temp_list_append.append(Temp_list_year)
In [6]: Temp_list_append.append(Temp_list_month)
In [7]: Temp_list_append.append(Temp_list_day)
In [8]: print(Temp_list_append)
[['Year:', 2019], ['Month:', 2], ['Day:', 4]]
In [9]: print("Length_of_Temp_list_append=",len(Temp_list_append))
Length_of_Temp_list_append= 3
Python-Basic
extend(): 將新增的元素或 list 放到另一個 list 的最後面的位置.
與 append()一樣都是將新增的元素或 list 放到 list 的最後面的位置,但差異性在新增的
list 不會保持原結構加入到最後的位置,而是將每個元素依序擴展到最後的位置.舉例說,原
Org_list 有 3 層抽屜,抽屜裡的物品分別為 A,B,C,欲加入至 Org_list 的 New_list 有 2
層抽屜,抽屜裡的物品分別為 D,E,加入之後 Update_list 就有 5 層抽屜,第 1 層抽屜的物品
為 A, 第 2 層抽屜的物品為 B, 第 3 層抽屜的物品為 C, 第 4 層抽屜的物品為 D, 第 5 層抽屜
的物品為 E.
In [1]: Temp_list_extend = []
In [2]: Temp_list_year = ['Year:', 2019]
In [3]: Temp_list_month = ['Month:', 2]
In [4]: Temp_list_day = ['Day:', 4]
In [5]: Temp_list_extend.extend(Temp_list_year)
In [6]: Temp_list_extend.extend(Temp_list_month)
In [7]: Temp_list_extend.extend(Temp_list_day)
In [8]: print(Temp_list_extend)
['Year:', 2019, 'Month:', 2, 'Day:', 4]
In [9]: print("Length_of_Temp_list_extend=",len(Temp_list_extend))
Length_of_Temp_list_extend= 6
Python-Basic
insert(): 將一個元素或 list 插入到另一個 list 中的某一個位置.用
法:insert(index,’var’), 或 insert(index, list_name),有兩個參數,第一個參數
是 index 指的欲放置在哪一個位置索引,第二個參數’var’,或 list_name 指的是欲放置的
元素或 list. 所新增的 list 會保持原結構插入到指定的位置.舉例說,原 Org_list 有 3 層
抽屜,抽屜裡的物品分別為 A,B,C,欲加入至 Org_list 的 New_list 有 2 層抽屜,抽屜裡的
物品分別為 D,E,加入之後 Update_list 就有 4 層抽屜,第 1 層抽屜的物品為 A, 第 2 層抽
屜的物品為 B, 第 3 層抽屜的物品為 C, 第 4 層抽屜的物品為 D 和 E,也就是說第 4 層包含了
New_list 的 2 層抽屜的物品.
In [1]: Temp_list_insert = []
In [2]: Temp_list_year = ['Year:', 2019]
In [3]: Temp_list_month = ['Month:', 2]
In [4]: Temp_list_day = ['Day:', 4]
In [5]: Temp_list_insert.insert(0, Temp_list_year)
In [6]: Temp_list_insert.insert(1, Temp_list_month)
In [7]: Temp_list_insert.insert(2, Temp_list_day)
In [8]: print(Temp_list_insert)
[['Year:', 2019], ['Month:', 2], ['Day:', 4]]
In [9]: print("Length_of_Temp_list_insert=",len(Temp_list_insert))
Length_of_Temp_list_insert= 3
Python-Basic
+加號: 透過+將兩個 list 相加起來,且不會保持原結構加入到最後的位置,而是將每個元素
依序擴展到最後的位置.舉例說,原 Org_list 有 3 層抽屜,抽屜裡的物品分別為 A,B,C,欲加
入至Org_list的New_list有2層抽屜,抽屜裡的物品分別為D,E,加入之後Update_list
就有 5 層抽屜,第 1 層抽屜的物品為 A, 第 2 層抽屜的物品為 B, 第 3 層抽屜的物品為 C, 第
4 層抽屜的物品為 D, 第 5 層抽屜的物品為 E.
In [1]: Temp_list_plus = []
In [2]: Temp_list_year = ['Year:', 2019]
In [3]: Temp_list_month = ['Month:', 2]
In [4]: Temp_list_day = ['Day:', 4]
In [5]: Temp_list_plus = Temp_list_year + Temp_list_month +
Temp_list_day
In [6]: print(Temp_list_plus)
['Year:', 2019, 'Month:', 2, 'Day:', 4]
In [7]: print("Length_of_Temp_list_plus=",len(Temp_list_plus))
Length_of_Temp_list_plus= 6
Python-Basic
舉例 append(), extend(), insert(),和+符號與抽屜的對應關係.
[刪除]使用 del 刪除 list 中的某一個元素.
In [1]: Temp_list = ['Year:', 2019, 'Month:', 2, 'Day:', 4]
In [2]: print(Temp_list)
['Year:', 2019, 'Month:', 2, 'Day:', 4]
In [3]: del Temp_list[0:2]
In [4]: print(Temp_list)
['Month:', 2, 'Day:', 4]
Python-Basic
(十)Python- List/Tuples/Dictionaries(二)
★Tuples(元組)也是一種 list(序列),只是 Tuples 中的元素在創建後就不能被修改,也就
是唯讀不可更改的資料結構,但可以對 Tuples 進行連接組合.使用方法很簡單,Tuples 是使
用小括號,只需要在括號中加入元素.可以對 Tuples 進行查詢、連接、刪除(元素是不允許刪
除,只能刪除整個 Tuples)
語法 1: ('string1', num1, 'string2', num2)
In [1]: tup = ('Year:', 2019, 'Month:', 2, 'Day:', 4)
In [2]: print(tup)
('Year:', 2019, 'Month:', 2, 'Day:', 4)
Python-Basic
介紹如何查詢 tuples 的元素、連接和刪除等操作.
[查詢]首先要知道每個元素的對應位置的索引,第一個元素的位置索引為 0,依序加 1.直到最
後一個元素,並將要查詢的位置索引放在中括號內即可查詢到相對應的元素.
In [1]: tup = ('Year:', 2019, 'Month:', 2, 'Day:', 4)
In [2]: print(tup)
('Year:', 2019, 'Month:', 2, 'Day:', 4)
In [3]: print(tup[0],'-',tup[1],'-',tup[2],'-',tup[3],'-',tup[4],'-',tup[5])
Year: - 2019 - Month: - 2 - Day: - 4
[連接]使用+可將多個 tuples 連接在一起.
In [1]: tup = ()
In [2]: tup_year = ('Year:', 2019)
In [3]: tup_month = ('Month:', 2)
In [4]: tup_day = ('Day:', 4)
In [5]: tup = tup_year + tup_month + tup_day
In [6]: print(tup)
('Year:', 2019, 'Month:', 2, 'Day:', 4)
Python-Basic
[刪除]無法使用 del 刪除 tuples 中的某一個元素.
In [1]: tup = ('Year:', 2019, 'Month:', 2, 'Day:', 4)
In [2]: print(tup)
('Year:', 2019, 'Month:', 2, 'Day:', 4)
In [3]: del tup[1]
Traceback (most recent call last):
File "<ipython-input-144-20024ba0e7cc>", line 3, in <module>
del tup[1]
TypeError: 'tuple' object doesn't support item deletion
使用 del 刪除整個 tuples.
In [1]: tup = ('Year:', 2019, 'Month:', 2, 'Day:', 4)
In [2]: print(tup)
('Year:', 2019, 'Month:', 2, 'Day:', 4)
In [3]: del tup
In [4]: print(tup)
Traceback (most recent call last):
File "<ipython-input-147-8130c03e2c82>", line 1, in <module>
print(tup)
NameError: name 'tup' is not defined
Python-Basic
(十)Python- List/Tuples/Dictionaries(三)
★Dictionaries(字典)也是數據結構,很像通訊錄一樣,有兩個欄位,第一個欄位為名字(稱
為鍵'key'),第二個欄位為內容(稱為值'value').所以一個鍵('key'):值('value')的
集合就是 Dictionaries,鍵與值的對應用冒號(:)作分割,而每一組鍵與值則用逗號(,)作
分割.使用方法很簡單,Dictionaries 是使用大括號,只需要在括號中加入 key:value.就
可以對 Dictionaries 進行查詢、取代、刪除(元素是不允許刪除,只能刪除整個 Tuples).
需要注意 Dictionaries 的地方,1)key 必須是唯一的. 2)key 只能是整數、浮點數、字串
和布林值. 3)list 只能當 value,不能當作 key..
語法: {key:value}
dict = {'key1':'value1' , 'key2':'value2' , 'key3' : 'value3'}
Python-Basic
介紹如何查詢 dictionaries 的元素、取代、加入和刪除等操作.
[查詢]如果要查詢 key 所對應的 value,只要變數加中括號,並在括號中輸入 key,就可以查
詢到對應的值.
In [1]: Temp_dict = {'Year':2019 , 'Month':2 , 'Day':4}
In [2]: print(Temp_dict)
{'Year': 2019, 'Month': 2, 'Day': 4}
In [3]: print(Temp_dict['Year'])
2019
In [4]: print(Temp_dict['Month'])
2
In [5]: print(Temp_dict['Day'])
4
Python-Basic
[取代]定義在 dict 中的 key 是不能被修改取代,只有 value 可以被修改取代. 另外,key:
value 是可以被新增在已經定義的 dict 中.
In [1]: Temp_dict = {'Year':2019 , 'Month':2 , 'Day':4}
In [2]: Temp_dict['Year'] = 2018
In [3]: Temp_dict['Month'] = 12
In [4]: Temp_dict['Day'] = 31
In [5]: print(Temp_dict)
{'Year': 2018, 'Month': 12, 'Day': 31}
In [1]: Temp_dict = {'Year':2019 , 'Month':2 , 'Day':4}
In [2]: Temp_dict['Time(hr)'] = 10
In [3]: Temp_dict['Time(min)'] = 20
In [4]: Temp_dict['Time(sec)'] = 36
In [5]: print(Temp_dict)
{'Year': 2019, 'Month': 2, 'Day': 4, 'Time(hr)': 10, 'Time(min)': 20, 'Time(sec)':
36}
Python-Basic
[刪除]del 可以對整個字典或對字典一組 key:value 作刪除;clear 只能清空整個字典無法
只對一組 key:value 作清空.
In [1]: Temp_dict = {'Year':2019 , 'Month':2 , 'Day':4}
In [2]: del Temp_dict['Year']
In [3]: print(Temp_dict)
{'Month': 2, 'Day': 4}
In [4]: del Temp_dict
In [5]: print(Temp_dict)
Traceback (most recent call last):
File "<ipython-input-156-f800888ee7c8>", line 1, in <module>
print(Temp_dict)
NameError: name 'Temp_dict' is not defined
In [1]: Temp_dict = {'Year':2019 , 'Month':2 , 'Day':4}
In [2]: Temp_dict.clear()
In [3]: print(Temp_dict)
{}
Python-Basic
(十一)Python- Function
★在程式領域裡的函數指的是將重覆常用的程式定義成一個函數名稱,在需要時反覆的使用這
個函數,而函數有可能需要輸入,也有可能會有輸出.使用上很簡單,函數程式是以 def 關鍵字
作開頭,再接函數名稱和小括號,如果有需要傳入的參數或自變數都必須放在括號內,以冒號當
作開始,並且要縮排.
語法 1:
def: 函數名(欲代入的參數):
函數程式
其中,在函數程式中可能會用到 return 某一個變數,表示為返回此變數的值.
範例 1.定義一個可輸入名字的函數,並列印出 My name is 所輸入的名字.需注意的如果使
用字串類型的值則需要加入單引號('')或雙引號("").
In [1]: def sayname(name):
print("My name is ", name)
In [2]: sayname('Benson')
My name is Benson
Python-Basic
範例 2.定義一個可輸入年,月,日的函數,並列印出 Year:所輸入的年份, Month:所輸入的月
份,Day:所輸入的日期.
In [1]: def date(year, month, day):
print('Year:',year,' Month:',month,' Day:',day)
In [2]: date(2019,2,10)
Year: 2019 Month: 2 Day: 10
範例 3.定義一個可輸入兩個數值的函數, ,並透過 return 依序回傳加法、減法、乘法和除法
之後的值至 num_a,num_b,num_c,num_d.
In [1]: def arithmetic(num1, num2):
addition_value = num1 + num2
subtraction_value = num1 - num2
multiplication_value = num1 * num2
division_value = num1 / num2
return addition_value, subtraction_value,
multiplication_value, division_value
In [2]: num_a,num_b,num_c,num_d = arithmetic(10,2)
In [3]: print("num_a=",num_a ,"num_b=",num_b ,"num_c=",num_c ,"num_d=",num_d)
num_a= 12 num_b= 8 num_c= 20 num_d= 5.0
Python-Basic
(十二)Python- 類別 class
★Class 類別,就如同一個模具,可以一直套用這個模具去生產相同屬性但不同參數的物件,
就可以反覆使用這個類別產生無限個物件.使用上很簡單,類別程式是以 class 關鍵字再接物
件名稱(首字使用大寫).舉節日作為例子,每個節日都有相同的屬性,但有不同的參數.例如:
節日都有自己名字的屬性,每個節日對應到名字屬性都有一個特殊的參數(日期),第一個節日
的名字為新年, 第二個節日的名字為青年節, 第三個節日的名字為清明節,那麼就以節日作為
第一個類別.
範例一.建立一個 Festival 類別, 包含名字一個屬性,以及一個方法(_init_).其
中,_init_:初始化類別的動作. self:表示建立的類別. name:指的是屬性
In [1]: class Festival ():
def __init__(self, name):
self.name = name
In [2]: num1_festival = Festival("New Year's Day")
In [3]: print("1st festival: ",num1_festival.name)
1st festival: New Year's Day
Python-Basic
範例二.建立一個 Festival_date 類別,包含名字和日期兩個屬性,以及一個方法(_init_).
其中,_init_:初始化類別的動作. self:表示建立的類別. name:指的是名字屬性. date:
指的是日期屬性。
In [1]: class Festival_date ():
def __init__(self, name, date):
self.name = name
self.date = date
In [1]: num1_festival_date = Festival_date("New Year's Day", "Jan. 1")
In [2]: num2_festival_date = Festival_date("Youth Day", "Mar. 29")
In [3]: num3_festival_date = Festival_date("Tomb Sweeping Day", "Apr. 5")
In [4]: print("1st festival_date: ",num1_festival_date.name ,"-",
num1_festival_date.date)
1st festival_date: New Year's Day - Jan. 1
In [5]: print("2nd festival_date: ",num2_festival_date.name ,"-",
num2_festival_date.date)
2nd festival_date: Youth Day - Mar. 29
In [6]: print("3th festival_date: ",num3_festival_date.name ,"-",
num3_festival_date.date)
3th festival_date: Tomb Sweeping Day - Apr. 5
Python-Basic
範例三.建立一個 Personal,包含身高和體重兩個屬性,以及三個方法分別為(_init_)、飲
水建議值和 BMI 值.其中,_init_:初始化類別的動作. self:表示建立的類別. height:
指的是身高屬性. weight: 指的是體重屬性
In [1]: class Personal ():
def __init__(self, height, weight):
self.height = height
self.weight = weight
def Drink_Water(self):
return (self.weight * 40)
def BMI(self):
return (self.weight / ((self.height*0.01)**2))
In [2]: Benson = Personal(174,78)
In [3]: print('Drink Water', Benson.Drink_Water(),' cc')
Drink Water 3120 cc
In [4]: print('BMI=', Benson.BMI())
BMI= 25.762980578676178
Python-Basic
(十三)Python- 檔案處理
★當需要輸入很多數據時,那麼運用檔案處理就相對重要及方便.如果要打開文件就使用
open(),如果要關閉文件就使用 close().對於 open()有兩個輸入參數,分別為檔案名稱
(file name)和寫/讀模式(w/r),對於讀又分成一次讀所有資料,讀單一行和每次讀一行.
語法一:open()
Write_data = open('file', 'w')
Read_data =open('file', 'r')
語法二:write
Write_data.write ('Hi! Python')
語法三:read
Read_data.read()
Read_data.readline()
Read_data.readlines()
語法四:close()
Write_data.close()
Read_data.close()
Python-Basic
範例一.Write
In [1]: Write_data = open('python_file.txt', 'w')
In [2]: Write_data.write ("Python is a programming language.")
Out[2]: 33
In [3]: Write_data.write ("Python can be used on a server to create web
applications.")
Out[3]: 58
In [4]: Write_data.close()
範例二.Read
In [1]: Read_data = open('python_file.txt', 'r')
In [2]: Read_data.read()
Out[2]: 'Python is a programming language.Python can be used on a server to create
web applications.'
In [3]: Read_data.readline()
Out[3]: 'Python is a programming language.Python can be used on a server to create
web applications.'
In [4]: Read_data.readlines()
Out[4]: ['Python is a programming language.Python can be used on a server to
create web applications.']
Python-Basic
Reference:
https://www.python.org/

More Related Content

Python basic - v01