1. 程式人生 > >python第三週基本資料型別,字元,字串,time庫,format()

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. 字串型別的表示
  2. 字串操作符
  3. 字串處理函式
  4. 字串處理方法
  5. 字串型別的格式化

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