1.1 變數
在程式設計中變數的功用是用來暫存數據或資料,之後在程式中可以使用變數直接進行數據與資料的操作。其中,變數的命名盡量以易辨識、與使用用途相關、不可為保留字(後面會介紹)的方式命名。將變數放入print()函數中則可在console畫面呈現變數值。以下用一個範例說明:
程式碼
# 沒使用變數進行複利計算:給定本金1000,利率5%,期數12期計算複利結果
print(1000*(1+0.05)**12)
Python畫面
程式碼
# 使用變數進行複利計算:給定本金1000,利率5%,期數12期計算複利結果
principal=1000
interest=0.05
times=12
compound=principal*(1+interest)**times
print(compound)
Python畫面
從這兩個例子也許你看不出使用變數的威力,但試想一下,如果今天有1000行程式,其中有500行都要使用本金,用第一種寫法則是500行本金的部分都是1000,但用第二種寫法則是500行本金的部分都是principal,此時如果想要更改本金為1200,第一種寫法就必須將那500行的1000更改為1200,第二種寫法則只要在principal=1000這一行修改為principal=1200,剩下的499行都不需要修改,這將使得程式的效率大大提升又容易維護。
如果要指定多個變數,方法如下:
程式碼
# 多個變數指定相同的值
a=b=c=30
s1=s2=s3="Hi
I am string"
print(a,b,c)
print(s1,s2,s3)
Python畫面
程式碼
# 多個變數指定不同的值
a,s1
= 20 , "Hello"
print(a,s1)
Python畫面
先前提到變數命名時不可為保留字,什麼是保留字呢? 保留字其實就是在Python中已經被用來作為特殊功能或函數的名稱字眼,譬如print就是一種保留字,他具有將變數值呈現在console畫面的功能,所以之後在對變數命名時就要避開print,避免變數功能混淆。Python常見的保留字如下:
Ø 變數只能是數字、英文字母、_符號、中文的組合。Python在變數命名的規則有以下四點需特別注意:
Ø 變數第一個字母不可以是數字。
Ø 英文字母大小寫視為不同變數
Ø 不可為保留字。
需注意一下,不建議用中文做為變數名稱,這會導致程式的可攜性降低。
1.2
資料型態
資料型態大致分成邏輯值、數值、字串(文字)三種,以下分別介紹這三種資料型態:
Ø 邏輯值又稱布林值(bool),主要用True 及 False表示,通常會出現在if條件判斷式中(後續會介紹),也通常與and/or/not等運算子搭配使用。
程式碼
#邏輯值(布林值)
flag1=True
flag2=False
Ø 數值分為兩種:整數(int)及浮點數(float)
程式碼
#整數與浮點數
num1=20 #整數
num2=12.34 #浮點數
num3=20.0 #浮點數
Ø 字串(文字)是一種內容用雙引號「”」或單引號「’」包起來的資料型態。
程式碼
#字串(文字)
str1="Johnson"
str2="Hello, welcome to
python world."
str3="0912345678"
Python畫面
如果想在字串中加上引號”的符號,可整個字串用另一個引號’包住或著將字串中的”用\”代替。(\稱為跳脫字元,後續會介紹)程式碼
#字串中想包含引號"
str1='My phohne number is
"0912345678".'
str2="My phohne number
is \"0912345678\"."
print(str1)
print(str2)
Python畫面
Python中type()函數可以用來判斷目前的變數的資料型態,不同的資料型態會有不同的運算方式,所以了解目前變數是處於哪一種資料型態是非常重要的,type()用法如下:
程式碼
#type()函數的使用
flag1=True
num1=20
num2=12.34
str3="0912345678"
print(type(flag1),type(num1),type(num2),type(str3))
Python畫面
1.3
print()與input()
print()函數是可以將變數的值呈現在console畫面上;input()函數則可以在console畫面上提供輸入功能,讓使用者輸入想輸入的內容,所以print()與input()分別表示輸出與輸入的功能。
Ø 使用input()函數通常會在括號內寫上一段字串,作為提示字串,提醒使用者要輸入的內容。
程式碼
#input()函數的使用
num_1=input("請輸入第一個數字:")
num_2=input("請輸入第二個數字:")
print("此兩數字總和:",num_1+num_2)
Python畫面
相信你有發現數字總和它呈現了1213不是25,這是因為input()函數的結果必為字串(文字),而字串間用+運算結果就是將兩個字串相接,所以才會出現1213的情形,如要解決且情形,我們可使用int()會float()將數值型字串轉換成數值。
程式碼
#input()函數搭配int()函數的使用
num_1=int(input("請輸入第一個數字:"))
num_2=int(input("請輸入第二個數字:"))
print("此兩數字總和:",num_1+num_2)
Python畫面
程式碼
#input()函數搭配float()函數的使用
num_1=float(input("請輸入第一個數字:"))
num_2=float(input("請輸入第二個數字:"))
print("此兩數字總和:",num_1+num_2)
Python畫面
Ø print()函數提供了分隔參數(sep)與結尾參數(end)的設定,可使顯示的內容更能貼近使用者想呈現的效果。
程式碼
drive=input("請輸入您要將檔案存入到D槽或C槽:")
drive=drive+":"
folder_name=input("請輸入資料夾名稱:")
file_name=input("請輸入檔案名稱:")
print("以下是您的存檔路徑:")
print(drive,folder_name,file_name,sep='//')
Python畫面
從上面範例看的出來,sep=”//”的功能就是將drive, folder_name, file_name這三個變數值用//隔開並相接,最後呈現在console畫面。在print()中sep參數預設為一個空白字元” “。
程式碼
#print()函數的end參數使用(1)
print("I'm Bob, ",end="")
print("What's your name?")
Python畫面
程式碼
#print()函數的end參數使用(2)
print("I'm Bob, ",end="\n")
print("What's your name?")
Python畫面
程式碼
#print()函數的end參數使用(3)
print("I'm Bob, ",end="\n\n")
print("What's your name?")
Python畫面
程式碼
#print()函數的end參數使用(4)
print("I'm Bob, \n\n"+"What's your name?")
Python畫面
從上面的範例看得出來end=” “是不換行,直接接著下一個print()的結果;end=”\n”是換行後呈現下一個print()的結果; end=”\n\n”是換兩行後呈現下一個print()的結果,我們也發現在字串中加入\n也會有換行效果,不一定需要依靠end參數才能有換行的效果。在print()中end參數預設就是”\n”。
留言
張貼留言