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
"""

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *