python學習筆記2

2021-10-01 18:48:12 字數 2627 閱讀 7295

python 3中字串是以unicode編碼實現,對單個字元,可以使用ord()函式獲取字元的完整表示,chr()函式把編碼轉為對應的字元:

>>

>

print

('包含中文的str'

)

包含中文的str

>>

>

ord(

'a')

65>>

>

ord(

'中')

20013

>>

>

chr(66)

'b'>>

>

chr(

20091

)'乻'

>>

>

chr(

20089

)'乹'

>>

>

chr(

20099

)

也可以計算bytes的位元組數(python字串型別是str,在記憶體中是unicode表示,在網路中傳輸,或者儲存到磁碟上就需要變為以位元組為單位的bytes)

python對bytes型別的資料用帶b字首的單引號或雙引號表示。

x=b』abc』

>>

>

len(b'abc')3

>>

>

len(

'中文'

)2

以unicode表示的str通過encode()方法可以編碼為指定的bytes

反過來,如果從網路或磁碟上讀取了位元組流,那麼讀到的資料就是bytes此時要用decode()方法解碼。

>>

>

'中文'

.encode(

"utf-8"

)

b'\xe4\xb8\xad\xe6\x96\x87'

>>

> b'\xe4\xb8\xad\xe6\x96\x87'

.decode(

"utf-8"

)'中文'

#!/usr/bin/env python3

#-*- coding: utf-8 -*-

第一行是為了告訴linux/os x系統,這是乙個python可執行程式,windows會忽略這個注釋

第二行是為了告訴python編譯器,按照utf-8編碼讀取源**,否則,你在源**中寫的中文可能會出現亂碼。

%nd表示輸出佔n位,不夠右端補齊,%0nd表示輸出佔n2位,不夠補0。

如果字元中需要%,則用%%轉義表示%

元組一旦初始化就不能修改,因為tuple不可變,所以**更安全。如果可能能用tuple代替list就盡量用tuple。(tuple的不可變指的是tuple中元素的指向永遠不變)

>>

> t =

('a'

,'b',[

'a',

'b']

)>>

> t[2]

[0]=

'x'>>

> t[2]

[1]=

'y'>>

> t

('a'

,'b',[

'x',

'y']

)

上面**看起來元組裡面的元素變了,實際上變得是裡面列表list的元素。

python的迴圈有兩種,一種是for…in迴圈,依次把list或tuple中的每個元素迭代出來

names =

['michael'

,'bob'

,'tracy'

]for name in names:

print

(name)

如果要計算1-100的整數之和,從1寫到100有點困難,幸好python提供乙個range()函式,可以生成乙個整數序列,再通過list()函式可以轉換為list。比如range(5)生成的序列是從0開始小於5的整數(0,1,2,3,4),注意不包括5:

sum=0

for x in

range

(101):

sum=

sum+ x

print

(sum

)

第二種迴圈是while迴圈,只要條件滿足,就不斷迴圈,條件不滿足時退出迴圈。比如我們要計算100以內所有奇數之和,可以用while迴圈實現:

sum=0

n =99

while n >0:

sum=

sum+ n

n = n -

2print

(sum

)

break語句可以在迴圈過程中直接退出迴圈,而continue語句可以提前結束本輪迴圈,並直接開始下一輪迴圈。這兩個語句通常都必須配合if語句使用

n=

1while n<=

100:

if n>10:

break

print

(n) n+=

1print

("迴圈結束"

)

Python學習筆記 2

python學習筆記 2 1 error and exceptions 錯誤和異常 語法錯誤是在編譯時檢查,但python允許在程式執行期間檢查錯誤。當檢查出錯誤,python直譯器丟擲 產生 觸發乙個異常。要增加錯誤檢測或異常處理到 使用try except語句。語法如下 try try runn...

python學習筆記 2

八 type函式的作用是顯示值和變數的型別,id以值或變數為引數,返回值是一整數.type world type str id 123 11602164 九 python函式的定義形式 def arg1,arg2,argn 函式的名字也必須以字母開頭,可以包括下劃線 但不能把python的 關鍵字定...

Python學習筆記 2

已經學習python兩天了,總結一下學習成果。初學python,如果有寫錯的地方,還望各位大牛指出。先列一列作品 python socket 客戶端測試程式 easygui 猜數遊戲 看雪登入器 涉及到的知識點 物件導向 socket庫 httplib2庫 easygui 小知識點 通過這種方式匯入...