python
最近修改日期20210108
語法:變數名稱=變數值
Python變數無須宣告及指定資料型態
多個變數有相同值 a=b=c=20
同一列指定鍋的變數值
age,name = 10,"張三" 則 age=18 ,name= "張三"
del 變數名稱 #刪除變數節省記憶體
變數名稱命名規則
*.第一個字母需大小寫英文字母、、中文。(數字開頭不行)
*.變數只能由大小寫英文字母、、中文組成。(特殊符號不可以,中間也不可空白)
*.英文大小寫視為不同變數。(區分大小寫)
*.不能與保留字相同。
保留字有
acod | and | array | asin | assert | atan |
break | class | close | continue | cos | Data |
def | del | e | elif | else | except |
exec | exp | fabs | float | finally | floor |
for | from | global | if | import | in |
input | int | is | lambda | log | log10 |
not | open | or | pass | pi | |
raise | range | return | sin | sqrt | tan |
try | type | while | write | zeros |
# 為註解符號
\ 為程式碼過長換行接續符號
Python 數值資料型態主要有整數、浮點數。
布林資料型態 只有True 與 False
字串可用成對的" 或是 ' 包起來。
若要表示換行或是Tab可用跳脫字元\
跳脫字元 | 意義 | 跳脫字元 | 意義 |
---|---|---|---|
\' | 顯示單引號' | \" | 顯示雙引號" |
\\ | 顯示反斜線 | \n | 換行 |
\r | 游標移到列首 | \t | Tab鍵 |
\v | 垂直定位 | \a | 響鈴 |
\b | 後退鍵 | \f | 換頁 |
\x | 以16進位表示字元 | \o | 以八進位表示字元 |
語法:
print(項目1 [,項目2,…,sep=分隔字元,end=結束字元] )
範例:
print(10,"項目",50) # 輸出 10 項目 50
print(10,"項目",50,sep="&") # 輸出 10&項目&50 下次列印於下一列
print(10,"項目",sep="&",end="") # 輸出 10&項目&50 下次列印於同一列(註:end沒指定,預設為\n)
# 範例_字串格式化
name='Peter Yang'
errno=50159747054
# 舊式
print('舊式')
print('你好! %s'% name) # %x 16進位表示法
print('嗨! %s, 這個錯誤代碼是%x'%(name,errno))
print('嗨! %(name)s, 這個錯誤代碼是%(errno)x'%{'name':name,'errno':errno,})
print('嗨! %(name)s, 這個錯誤代碼是%(errno)x'%{'errno':errno,'name':name,})
# 新式
print('新式')
print('Hello,{}'.format(name))
print('嗨! {name}, 這個錯誤代碼是{errno:x}'.format(name=name,errno=errno))
# 進階(格式字串字面值:Formatted String Literal Py3.6+ UP)
print('進階')
print(f'Hello,{name}!')
birthYear=25
print(f'Hello,{name},出生年{birthYear}轉為西元為{birthYear+1911},16進制為{(birthYear+1911):x}') # 可以進行運算 (可以用x 或是 #x)
# 樣板字串方法(Template String)
from string import Template
t= Template('Hello,$name!')
t.substitute(name=name)
print(t.substitute(name=name))
t1="Hello! $name 有一個錯誤發生 $errno"
t2=Template(t1)
print(t2.substitute(name=name,errno=hex(errno))) # 樣板無法此用格式指定子,要自行用hex轉換。
語法:
print(項目 %(參數)) #%s 表示字串,%d表示整數,%f表示浮點數
可以用%5d 固定列印5位數。數字小於5位,左方填空白,大於5位,全部顯示。
%5s 同上
%8.2f固定列印8的字元(含小數點),小數點固定兩位。整數若小於5位,左方填空白,整數大於5位,則整數部分全部顯示;若小數小於2位,右方填0,小數大於2位,原則四捨五入(會依據第一位小數奇偶而變化)
n=1222.3350
print("%8.2f" % n) # 1222.34
n=1222.2350
print("%8.2f" % n) % 1222.33
範例:
name="張三"
age = 58
print("%s的年紀為%d歲" % (name,age))
語法:
print(format(item,format-specifier))
item 為數字或是文字,format-specifier:格式指定器。
範例:
name="張三"
age = 58
print(format(name,'8s'),format(age,'3d')) # 張三 58
格式指定器:
指定器 | 說明 |
---|---|
d | 整數 |
f | 浮點數 |
s | 字串 |
e | 科學記號 |
x | 16進位表示 |
o | 8進位表示 |
b | 2進位表示 |
% | 百分比表示 |
< | 靠左對齊 |
> | 靠右對齊 |
指定器前方可以加入數字,表示欄位寬度 | |
範例: |
print(format(100,'8d'))
# 100 由第8格往左排(預設靠右)
print(format(100,'<8d'),end='|')
#100 |靠左對齊空8格
print(format(100,'8x'))
print(format(100,'8o'))
print(format(100,'8b'))
# 64
# 144
# 1100100
print(format(0.2389,'6.2%'))
#23.89% 留6個位置,%小數留2位。
print(format(123.456,'8.2f'))
# 123.46 留8個位置,小數點2位。
print(字串.format(參數列))
name="張三"
age = 58
print("{}的年紀為{}歲".format(name,age)) #張三的年紀為58歲
print(format(name,'8s'),format(age,'3d')) # 張三 58
另外一種寫法
name='Mike'
func_id='func_A01'
print(f'{name} use the {func_id}')
#Mike use the func_A01
使用type取地目前資料型態
print(type(56)) # <class 'int'>
print(type("張三")) # <class 'str'>
print(type(True)) # <class 'bool'>
S20200721 By YTC
M20200908 補充與調整, 20201102
M20210108 補充整理後的資料