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 小知識點 通過這種方式匯入...