美文网首页
[067]python筆記:字符串,內建函數,Unicode

[067]python筆記:字符串,內建函數,Unicode

作者: 小慷 | 来源:发表于2016-08-12 11:40 被阅读193次
測試代碼

3-6行:

先導入一string模塊,並且定義兩個字串符,以便往後判斷

8-12行:

讓使用者輸入信息,且讓長度2以上的字符串才能通過檢驗

13-14行:

如果第一字串符不是字母或是下滑線,那麼在輸出結果,並且退出

15-16行:

循環的檢查剩下的字符串

17-21行:

假使剩下的字符串不是字母、下滑線、數字組成的,那麼就輸出結果,且退出,

否則就是輸出是的結果


核心的提示:性能

在有些程式碼中,重複操作作為參數放進循環是很低效的,舉例來說

while i< len(myString):

    print ‘character %d is:’,myString[i]

length=len(myString)

while i<length:

   print ‘character %d is:’,myString[i]

兩者效率會有差別,後者更為高效

因此,把此邏輯借鑒到第17行,可以更改為

alphnums=alpha +nums

for otherChar in myInput[1:]:

   if otherChar not in alphnums:


連接符(+)

重複操作符(*)


6.4只適用於字符串的操作符

有許多字串格式化符號,種類繁多,因此做幾個重點介紹

%c:轉換成字符(ASCII碼值,或長度唯一的字符)

%s:優先用str()函數進行字符串轉換

%d:轉成有符號十進制數

%#x:以16進位輸出

%#o:以8進位輸出

%.2f:以浮點數輸出

接著討論,用字典化顯示操作符

>>> 'There are %(howmany)d %(noun)s ' %{'howmany':3,'noun':'idiots'}

'There are 3 idiots '


6.5內建函數

著名的是min,max,enumerates,zip

>>> a='apple'

>>> for i,t in enumerate(a):

print (i,t)

0 a

1 p

2 p

3 l

4 e

接下來是,chr(),ord(),unichr(),

chr()與unichr()都是類似的,輸入數字,然後輸出字串

但ord()則是,輸入字串,輸出數字


6.6字符串內建函數

string.capitalize():把字符串的第一個字符大寫

string.center(width):把一字符串居中,並使用空格填充到長度width的新字符

string.count(str,beg=0,end=len(string)):在指定的string長度中,搜尋str出現的次數

string.isdigit():至少包含數字就返回True

string.islower():在字符中的字母,得全部都要是小寫才會返回True

string.isalpha():所有字符都是字母就返回True

string.isdecimal():全部的數字中都是十進位制就反回True


6.8Unicode

我查了wiki的定義:Unicode(中文:萬國碼、國際碼、統一碼、單一碼)是電腦科學領域裡的一項業界標準。

它对世界上大部分的文字系統進行了整理、編碼,使得電腦可以用更為簡單的方式來呈現和處理文字。

在python中,unicode與ASCII字符串沒啥兩樣,前者通常會在字符串前加入’u’已表示,而後者通常就是默認形式

在此,有一實際流程應用,

就是,

unicode字符串—>UTF-8編碼—>寫入一文件

更詳細來說,就是一開始會先decode字符串成unicode型式,

再把這個unicode型式的編碼,encode成其他的編碼,然後寫入一文件

此段程式碼會創建unicode.txt,內容是Hello world!

另外,在使用unicode時,要很小心一些原則,以下

1.程序中出現字符串一定要加個前綴u

2.不要用到str()函數,而是用unicode()代替

3.不到必要時,不要在你的程序編碼中,編解Unicode字符,只要在寫入文件時,再加入encode()就好

最後,是在使用unicode的一些教訓

1.在開發產品時,如果要做其他語言的應用話,那麼一開始就要注意unicode的使用,否則到後頭會很麻煩

2.在原碼中,到處使用str()與chr()函數,但最後還是得換成unicod()函數

3.不能確定所有輔助系統都支持Unicode,得在一開始就做確認

相关文章

网友评论

      本文标题:[067]python筆記:字符串,內建函數,Unicode

      本文链接:https://www.haomeiwen.com/subject/qoassttx.html