Python快速入門
套路1: Python快速入門
1. 資料:
數值資料: 整數(integer): 例如38,浮點數(floating point): 例如0.0025 = 2.5
e-3,複數(complex number): 例如3+5i (i = Ö-1, 在Python中寫成3+5j)。
文字資料: 加單引號或雙引號,例如: 'Hello World!'、"Python"。
邏輯資料: TRUE、FALSE。
2. 變數及資料型態:
存放一個資料: x = 3,y = "Milu"。x、y為變數名 (Variables)。
存放多個資料:
list用[]: l = ['abcd', 786 , 2.23, "John", 70+2j]。l是list名。
Tuple用(): t = ('abcd', 786 , 2.23, "John", 70+2j)。t是tuple名。list內容可改變,tuple內容不可改變。
dictionary用{}: d = {'name': 'Milu','code':3838, 'dept': 'Microbiology'}。d是dictionary名。放在dictionary的資料都是成對的,例如d裡面,name是key,'Milu'是value。
3. 基本運算符號 (Basic Operators):
# 是註解,用於說明,程式不執行。
指定運算子(Assignment Operator): =
x = 10 # 把等號右邊的資料放進等號左邊的變數
y = 3 – 8 # 把等號右邊的計算結果放進等號左邊的變數
算術運算子(Arithmetic Operators) : 設x = 10,y = 21
符號
|
範例
|
+
(加addition)
|
x + y 結果: 31
|
-
(減substraction)
|
x - y 結果: -11
|
*
(乘multiplication)
|
x * y結果: 210
|
/
(除division)
|
x / y結果: 2.1
|
%
(餘數modulus)
|
x / y結果: 1 (餘數)
|
**
(次方exponent)
|
x ** y結果: 10的21次方
|
//
(floor division)
|
x / y結果:刪除小數點後的商數。
|
比較運算子(Comparison Operators): 設x = 10,y = 21
符號
|
範例
|
==
等於
|
x == y 結果: FALSE
|
!=
不等於
|
x != y 結果: TRUE
|
>
大於
|
x > y 結果: FALSE
|
<
小於
|
x < y 結果: TRUE
|
>= 大於等於
|
x >= y 結果: FALSE
|
=< 小於等於
|
x <= y 結果: TRUE
|
4. 判斷式 (Decision Making):
程式範例:
v = 0
if v:
print("got a TRUE") # 注意程式要內凹(縮排)
結果: 不列印訊息因為v = 0是FALSE。
程式範例:
v = 0
if v:
print("got a TRUE") # 注意程式要內凹(縮排)
else:
print("got a FALSE") # 注意程式要內凹(縮排)
結果: 列印訊息got a FALSE。
5. 迴圈 (Loops):
while迴圈
程式範例:
count = 10
while count >
8:
print (count, " is great than 8")
count = count - 1
結果列印訊息如下:
10 is great than 8
9 is great than 8
for迴圈
程式範例:
x = [58,57,54,59,53,56,58,59,60] # 資料
l = len(x) # 資料個數
t = 0
for i in range(l):
t = t + x[i] # 以for迴圈將資料加總
t
結果列印加總結果: 514。
break指令
程式範例:
for ch in
"MiluMilu":
if ch == 'i':
break
print ('Current Letter :', ch)
結果列印: Current Letter : M,後面遇到i就break跳出迴圈了。
continue指令
程式範例:
for ch in
"MiluMilu":
if letter == 'i':
continue
print ('Current Letter :', ch)
結果列印:
Current Letter
: M
Current Letter
: l
Current Letter
: u
Current Letter
: M
Current Letter
: l
Current Letter
: u
*注意*上述結果遇到i就跳過不列印,回到迴圈開頭,這就是continue的作用。
6. 函數 (Function):
語法(Syntax): 定義,建立函數
def
functionname( parameters ):
"function_docstring"
function_suite
return [expression]
使用範例: 呼叫函數
dat = [58,57,54,59,53,56,58,59,60] # 資料
def
aver(x): #
定義,建立函數
l = len(x) # 資料個數
t = 0
for i in range(l):
t = t + x[i] # 以for迴圈將資料加總
arMean = t / l # 平均值 = 資料加總 /資料個數
return arMean # return 傳回結果
aver(dat) # 呼叫函數,代入資料,求出結果
結果: 平均值57.111111111111114
7. 模組 (Module):
dat = [58,57,54,59,53,56,58,59,60] # 資料
import
statistics # 使用import引入模組(statistics)呼叫函數方式一
statistics.median(dat) # 呼叫使用函數statistics.median(),代入資料,求出結果
# 結果: 58
from statistics
import median # 使用import引入模組(statistics)呼叫函數(median)方式二
median(dat) # 呼叫使用函數statistics.median(),代入資料,求出結果
# 結果: 58
8. 輸入輸出 (I/O):
print指令
print ("I
am Milu. What is your name?")
結果列印訊息: I am Milu. What is your name?
開檔案讀寫資料
基本語法(syntax): fileObject = open(file_name
[, access_mode][, buffering])
fileObject: 程式中代表檔案(object,物件)的變數名稱,使用者自訂。
open(): 開檔案的函數。
file_name: 檔案在磁碟機(檔案系統)的名稱。
buffering: 要不要緩衝,給0:不緩衝,給大於1的整數: 緩衝區大小,給負值: 使用內設值。
access_mode: 讀檔或寫檔。
模式
|
說明
|
r
|
只有讀資料
|
rb
|
只有讀資料,以二進位檔(binary format)處理
|
r+
|
可讀寫
|
rb+
|
可讀寫,以二進位檔處理
|
w
|
只有寫資料,檔案存在覆寫(overwrites)該檔案,檔案不存在建立新檔案
|
wb
|
只有寫資料,以二進位檔處理,檔案存在覆寫該檔案,檔案不存在建立新檔案
|
w+
|
可讀寫,檔案存在覆寫該檔案,檔案不存在建立新檔案
|
wb+
|
可讀寫,以二進位檔處理,檔案存在覆寫該檔案,檔案不存在建立新檔案
|
a
|
檔案存在保留原資料,繼續新增資料(appending),檔案不存在建立新檔案
|
ab
|
以二進位檔處理,檔案存在保留原資料,繼續新增資料,檔案不存在建立新檔案
|
a+
|
可讀及新增,檔案存在保留原資料,繼續新增資料,檔案不存在建立新檔案
|
ab+
|
以二進位檔處理,可讀及新增,檔案存在保留原資料,繼續新增資料,檔案不存在建立新檔案
|
關閉檔案
基本語法(syntax): fileObject.close()
使用範例1:
fff =
open("Milu.txt", "wb")
# 以wb模式開檔案,fff物件變數名稱是使用者自訂
print
("Name of the file: ", fff.name)
# 顯示磁碟機中檔案名fff.name
print
("Closed or not : ", fff.closed)
# 顯示檔案處於開或關的狀態fff.closed
print
("Opening mode : ", fff.mode)
# 顯示開啟檔案的模式fff.mode
fff.close() # 關檔案
使用範例2:
fff =
open("test.txt", "w")
# 以w模式開檔案,fff物件變數名稱是使用者自訂
fff.write(
"Python is a great language.\nYeah its great!!\n") # 以write()將資料寫入檔案
fff.close() # 關檔案
使用範例3:
fff =
open("Milu.txt", "r+")
# 以r+模式開檔案,fff物件變數名稱是使用者自訂
str = fff.read() # 以read()讀入資料放入變數str,str變數名稱是使用者自訂
print
("Read String is : ", str) # 顯示str記錄的內容
fff.close() # 關檔案
# 有fileObject.read()、fileObject.readline()
和fileObject.readlines()三種方法。
留言
張貼留言