美文网首页
[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