幾種字串編碼格式之間大概的區別
1)ascii:最早的編碼是ascii,僅對10個數字,26個大寫26個小寫英文本母還有一些其它符號進行了編碼,用乙個位元組對字元進行編碼,最多只能表示256個符號。
2)gb2312:我國制定的中文編碼,通常用乙個位元組表示乙個英文本元,兩個位元組表示乙個中文字元。
4)cp936:微軟在gbk的基礎上開發的編碼方式,都是用兩個位元組表示乙個中文字元。
5)utf-8:典型的字串編碼有utf-8,它對全世界所有國家用到的字元進行編碼,用乙個位元組表示乙個英文本元,用三個位元組表示乙個漢字。
6)unicode:ord()和chr()是把單個字元變成對應的unicode碼或者變為對應的字元。
7)還有一種表示方式叫做位元組串,即bytes型別,用函式encode(『utf-8或gbk』)和decode(『utf-8或gbk』)能夠將字元編碼或解碼為字元
字串格式化的方式
1)str.format:用法一 : 'hello '.format(name) ;用法二:"my name is ".format(name=lily)
2)f-string:name='lily' f"my name is "
3)字串模板(template):from string import templatet = template('hey, $name!') t.substitute(name=』lily』)
常用的字串方法
1) charat() 返回指定索引位置的字元;
例:var str='hello'; console.log(str.charat(4));
2) concat() 連線兩個或多個字串,返回連線後的字串(拼接);
例:var str='hello'; var s1=str.concat(s,s,s,s); console.log(s1);
3) indexof() 返回字串中檢索指定字元第一次出現的位置,找不到返回-1;
例:var str='hello'; var index=str.indexof('l'); console.log(index);
4) lastindexof() 返回字串中檢索指定字元最後一次出現的位置;
例:var str='hello'; var index=str.lastindexof('l'); console.log(index);
正規表示式應用場合
快速分析大量文字,以找到特定的字元模式驗證文字以確保匹配預定義模式提取編輯替換過刪除文字子字串隨著時間變化的文字,如時間顯示多語言適配問題,可將多種語言字串寫成乙個ui物件多種不同的字元顯示情況,如定製機,移動要求顯示一種,聯通又要求顯示為另一種字串處理利器,字串的匹配查詢,替代,拆分,萃取。
讀寫檔案內容時可能會出現的異常
如果open函式指定的檔案不存在,訪問許可權不夠,磁碟空間不夠或其他原因導致建立檔案失敗時就會引發異常狀況導致程式崩潰,需要用python的try + **塊+except+finally的模式來處理異常。可以使用多個except來指定可能引發的異常錯誤,最後加上finall**塊來關閉開啟的檔案,釋放掉程式中獲取的外部資源,由於finally塊的**不論程式正常還是異常都會執行到,因此我們通常把finally塊稱為總是執行**塊,它最適合用來做釋放外部資源的操作。如果不願意在finally**塊中關閉檔案物件釋放資源,也可以使用上下文語法,通過with關鍵字指定檔案物件的上下文環境並在離開上下文環境時自動釋放檔案資源。
檔案不同開啟模式之間的區別
1)r 以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。
2)rb 以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。
3)r+ 開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
4)rb+ 以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
5) w 開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
6) wb 以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
7)w+ 開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
8)wb+ 以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。
9)a 開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
10)ab 以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾,,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。
11)a+ 開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。
12)ab+ 以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。
使用異常處理結構的原因
異常處理是因為程式執行過程中由於輸入不合法導致程式出錯而在正常控制流之外採取的行為。如果這些錯誤得不到正確的處理將會導致程式終止執行,而合理地使用異常處理結構可以使得程式更加健壯,具有更強的容錯性,不會因為使用者不小心的錯誤輸入或其他執行時原因而造成程式終止。也可以使用異常處理結構為使用者提供更加有好的提示。例如,除零錯誤,運算元型別不支援,略去異常的詳細資訊,變數名不存在,檔案不存在,引數型別不匹配等。
connection物件和cursor物件的executemany()方法
executemany:批量插入資料時常採用的方法。速度比execute()一條一條插入速度更快 。
connection物件中的executemany:執行多條sql語句,語句是多條
cursor物件中的executemany:重複執行多次sql語句,即可以對給定的所有引數執行同乙個sql語句,引數序列可以有多種方式產生,如生成器物件。
python入門(二)基礎知識
在前乙個章節,我介紹了如何搭建乙個比較友好的python學習環境,在這一節中我將快速過一遍基礎知識,為實際應用展開鋪墊 1 與c c 不同的是,python的 塊不使用 而是使用縮進來寫。並且縮排的空格數必須統一否則會報錯。2 在python中單行注釋採用 多行注釋採用 或 3 在python中,一...
Python基礎知識入門(二)
容器深層含義自己不知道,但是就表面意思。我自己理解的容器就是容器。他就是乙個可以裝 東西 的罐子啥的。不同的 罐子 可以裝的 東西 不同,就像酒杯裝酒,茶杯裝茶,水缸裝水。酒杯 茶杯 水缸就是不同的容器。酒 茶 水就是不同的東西。而在python中列表 元組,序列 集合 字典就是不同的容器。他們都有...
python基礎入門知識
有關python的基礎知識 最近在學習python,所以想在這裡記錄一下一些基礎的知識,免得忘記了。一 1 有關單雙引號 在python中我們都知道單引號和雙引號都可以用來表示乙個字串,比如 str1 python str2 python str1和str2是沒有任何區別的。但是如果遇到需要轉義字元...