python第三週基本資料型別,字元,字串,time庫,format()
目錄
整數型別:
沒有取數範圍限制,
二進位制以0b或0B開頭;八進位制以0o或0O開頭;十六進位制以0x或0X開頭
浮點數型別:
取值範圍數量級約為-10^308至10^308,精度數量為10^-16.
浮點數運算存在不確定位數,不是BUG,因為運算的時候數會變成二進位制參與運算,而再重新變成十進位制時,存在不確定尾數。,所以python中0.1 + 0.2 != 0.3 ,因為有不確定尾數
浮點數科學記數法的表示形式 <a>e<b>=a * 10^b;
複數型別:
z = a + bj,b表示虛部,z.real獲得實部,z.imag
數值運算操作符:x / y表示除,10 / 3= 3.33333...;x // y表示整數除,10 // 3 = 3; x**y表示x的y次冪,2**3 = 8;
數字型別的關係:存在一種逐漸擴充套件的關係:整數 --> 浮點數 -->複數
例如 整數 +浮點數 = 浮點數;
數值運算函式:
abs(x)求絕對值;
divmod(x,y)商和餘,divmod(10,3)結果為(3,1)
round(x,d):對x四捨五入,d是小數擷取位數,不確定尾數一般發生在10^-16左右,round()十分有效,round(0.1+0.2,1) == 0.3;
pow(x,y)函式,計算x的y次方
max(x1,x2,x3...xn)直接返回最大值;
min(同上)直接返回最小值;
int(x)將x變為整數,捨棄小數部分;
float(x)將x變為浮點數,增加小數部分;
complex(x)將x變為複數,增加虛數部分;
#everyday.py dayup=1.0 dayfactor = 0.01 for i in range(365): if i % 7 in [6,0]: dayup = dayup*(1- dayfactor) else: dayup = dayup*(1+dayfactor) print("工作日的力量{:.2f}".format(dayup))
字串型別及操作:
- 字串型別的表示
- 字串操作符
- 字串處理函式
- 字串處理方法
- 字串型別的格式化
1,字串是字元的有序數列,可對其內的字元進行索引;
字串由兩類四種表示方法:第一類字串由一對單引號或一對雙引號表示單行字串 “內師大” ‘C’;第二類可由三單引號或三雙引號表示多行註釋;之前有說過三個單引號可以表示多行註釋,是因為沒有賦值給變數的字串對程式結果沒影響。
字串切片法:<字串>[M;N]表示M起到N之前,<字串>[M:N:K],表示第M,N,K個字元
轉義符‘ \ ’;"這裡有個雙引號(\“)"結果為 這裡有個雙引號(”)
轉義符形成一些組合有特定用處:
"\b"表示回退 "\n"表示換行;"\r"表示回車(游標移動的本行行首)
2.字串操作符:
x +y 表示連線兩個字串x和y,
n * x 或 x * n,表示複製n次字串x,
x in s 如果x是s的字串,返回Ture,否則返回False;
len(x)表示字串的長度(python中所有字元都佔一個位元組);
str(x)任意型別的x所對應的字串形式str(1.23)= “1.23”;
hex(x)或oct(x)將整數x化為八進位制或十六進位制;
chr(x)x為Unicode編碼,返回其所對應的字元;
ord(x)x為字元,返回其對應的Unicode值;
Unicode編碼覆蓋幾乎世界上所有的字元的編碼方式、
方法(程式設計專有名詞,特指<a>.<b>的<>(),方法本身也是函式,但與<a>有關)
str.lower()或str.upper()返回字串的全小寫或全大寫;
str.split(sep=None)返回一個列表“A,B,C”.split(",")結果為【'A,'B','C'】
str.count(sub)返回字串sub在str中出現的次數“a apple a day”.count("a"),結果為4;
str.replace(old,new)返回字串str副本,所有的old被替換為new;
str.center(width[,fillchar])字串str根據寬度width居中,fillchar為填充;
str.strip(chars)從str中去掉其左側和右側chars中列出的字元
str.join(iter)在iter變數除最後元素外每個元素增加一個str “,”.oin("1234")結果為“1,2,3,4”
字串型別的格式化(.format()):
<模板字串>.format(<逗號分隔的引數>)
{<引數序號>:<格式控制標記>}
time庫的使用:time庫是python中處理時間的標準庫
提供獲取系統時間並格式化輸出功能
時間獲取:time()獲取當前時間戳 ctime()獲取當前時間戳並以易讀方式表示 gtime()獲取當前時間戳表示為計算機可處理的時間格式
時間格式化:
strtime(tpl,ts)
t=time.gmtime()
time.strftime("%Y-%m-%d %H:%M:%S",t)
//'2018-09-3 12:22:20'
//%Y年份 %m月份 %B月份名稱 %b月份名稱縮寫 %d日期 %A星期 %a星期縮寫 %H小時(24) %h(12) %p上下午 %M分鐘 %S秒
strptime()和strftime相反的命令
t='2018-08-03 12:55:20'
time.strptime(t,"%Y-%m-%d %H-%m-%S")
程式記時:
sleep()
def wait()
time.sleep(3.3)
wait()#程式將等待3.3秒後退出
per_counter()返回一個精確的時間計數值,單位為秒,由於起點不穩定,所以需要呼叫差值才有意義
start = time.perf_counter()
end = time.perf_counter()
end-start