Python的指令與說明
type(項目)
■ type命令會去抓取目標的資料型態,如果使用者不確定某些項目的型態可用此命令來確認。
print(type(123))
#輸出結果為「<class 'int'>」
print(type(1.23))
#輸出結果為「<class 'float'>」
print(type("hello"))
#輸出結果為「<class 'str'>」
print(type(True))
#輸出結果為「<class 'bool'>
資料型態轉換
變數的資料型態很重要,通常要相同的資料才能進行運算。
Python有內鍵簡單的資料型態轉換功能,如整數與浮點數運算,系統會將整數轉成浮點數再進行運算。
■ int()
強制轉換為整數資料型態。
■ float()
強制轉換為浮點數資料型態
■ str()
強制轉換為字串資料型態
num1 = 1 + "23" #錯誤,數字1無法與字串"23"進行加法運算
num2 = 1 + int("23") #正確,字串"23"型態轉成數字23,可進行加法運算,結果為24
score = 100
print("阿倫的成績為:" + score)
#錯誤,數值無法自動轉為字串
score = 100
print("阿倫的成績為:" + str(score))
#正確,輸出結果為「阿倫的成績為:100」
print命令
print(項目1,項目2, … ,sep=分隔字元 , end=結束字元)
■ 項目1,項目2:print可以一次列印出多個項目,項目之間以逗號「,」分開
■ sep=:分隔字元,如果想列印多個項目,項目之間以分隔符號區隔,預設值為一個空白字符” “。
■ end=:結束字元,列印完畢後自動加入的自元,預設值為換行字元(\n)
■ 如果想使用跳脫字元請參考字串跳脫字元
print("朝爽der")
#朝爽der
print("朝爽der,撿到",100,"塊勒")
#朝爽der,撿到 100 塊勒
print("朝爽der,撿到",100,"塊勒",sep="~")
#朝爽der,撿到~100~塊勒
print("朝爽der,撿到",100,"塊勒。",sep="&",end="勒~")
#朝爽der,撿到&100&塊勒。勒~
「%」字串格式化
print(項目 % (參數,參數,..)
項目 | 意義 |
---|---|
%d | 以整數型態輸出 |
%s | 以字串型態輸出 |
%f | 以浮點數型態輸出 |
%% | 在字串中顯示「%」 |
%e或%E | 以科學記號方式輸出 |
name = "李阿倫"
score = 100
print("%s 的成績為 %s,科學記號為:%e" % (name,score,score))
#李阿倫 的成績為 100,科學記號為:1.000000e+02
字串可以精確控制列印位置,讓資料排列整齊,例如:
- %5d:固定列印五個字元(整數),若少於五字元則會在左方以空白填入剩下的字元,若大於五字元則全部列印,輸出內容會向右靠齊
- %5s:固定列印五個字元(字串),若少於五字元則會在左方以空白填入剩下的字元,若大於五字元則全部列印,輸出內容會向右靠齊
- %9.3f:固定列印九個字元(含小數點)且列印小數點後三位數
- 若使用負數(%-9.3f)輸出內容則會向左靠齊
price = 777.77
srt1 = "價格"
print("%s為 %9.3f(靠右對齊)" % (srt1,price))
#價格為 777.770(靠右對齊)
print("%s為 %-9.3f(靠左對齊)" % (srt1,price))
#價格為 777.770 (靠左對齊)
「format」字串格式化
print(項目.format(參數列))
新版的Python建議使用format方法格式化,只要在字串以一對大括號{}表示即可
如果大括號內沒輸入資料,則會順序的從format裡提取資料(從0開始)
print("{}的成績為{}分".format("李阿倫",100)) #李阿倫的成績為100分
print("{0}的成績為{1}分".format("李阿倫",100)) #李阿倫的成績為100分
print("考{1}分的人是{0}".format("李阿倫",100)) #考100分的人是李阿倫
如果想要進一步設定字串的參數格式,可以在大括號裡設定「參數順序:格式設定」,其中格式設定可參考%格式化
「%」格式化
print("年度 所得稅 營業稅 證交稅")
print("%4s %6.2f %6.2f %6.2f" % ("2019" , 88.62 , 89.52 , 90.1))
print("%4s %6.2f %6.2f %6.2f" % ("2020" , 92.6 , 98.12 , 93.33))
print("%4s %6.2f %6.2f %6.2f" % ("2021" , 95.27 , 98.66 , 102.2))
"""
年度 所得稅 營業稅 證交稅
2019 88.62 89.52 90.10
2020 92.60 98.12 93.33
2021 95.27 98.66 102.20
"""
「.format()」格式化
print("{0} {1} {2} {3}" .format("年度" , "所得稅" , "營業稅" , "證交稅"))
print("{0:4s} {1:6.2f} {2:6.2f} {3:6.2f}" .format("2019" , 88.62 , 89.52 , 90.1))
print("{0:4s} {1:6.2f} {2:6.2f} {3:6.2f}" .format("2020" , 92.6 , 98.12 , 93.33))
print("{0:4s} {1:6.2f} {2:6.2f} {3:6.2f}" .format("2021" , 95.27 , 98.66 , 102.2))
"""
年度 所得稅 營業稅 證交稅
2019 88.62 89.52 90.10
2020 92.60 98.12 93.33
2021 95.27 98.66 102.20
"""
input命令
變數 = input(提示字串)
■ input與print相反,input是由使用這輸入資料,輸入結束後按下Enter即結束輸入
score = input("請輸入成績:")
print("成績為:" , score)
"""
請輸入成績:100
成績為: 100
"""