您好,登錄后才能下訂單哦!
如何講解Python對象轉換問題,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Python對象的大多數格式與C用法相同,要求要輸出的值的類型符合格式的需要,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們,這樣不但可以避免錯誤的發生也大大的提高了工作效率。
把象‘123’這樣的字符串轉換為對應的整數值123。但是,當你想保存更復雜的數據類型如列表、字典或類實例時,讀寫就要復雜得多。Python的設計使程序員可以不必反復編寫調試保存復雜數據類型的代碼,它提供了一個叫做pickle的標準模塊。
這個令人驚異的模塊可以把幾乎任何Python對象轉換為字符串表示,這個過程叫做腌制,從對象的字符串表示恢復對象叫做恢復。在腌制和反腌制之間,對象的字符串表示可以保存在文件或數據中,甚至于通過網絡連接傳送到遠程計算機上。
pickle是保存Python對象并被其它程序或同一程序以后再運行時調用的標準辦法,這種做法的專用術語叫做“持久對象”。因為pickle使用廣泛,許多Python擴展模塊的作者都留意使新增加的數據類型如矩陣可以正確地腌制和恢復。
***自變量是一個包含了文件名的字符串,第二自變量是文件打開方式的字符串。模式‘r ’表示讀取,‘w’表示只寫(已有的同名文件被清除),‘a’表示打開文件在尾部添加。
‘r+’表示打開文件既可以讀也可以寫。打開方式參數可選,缺省為‘r’模式。在Windows和Macintosh中在模式中加入‘b’表示以二進制格式打開文件,如‘rb’、‘wb ’、‘r+b’。Windows對文本文件和二進制文件有不同的處理。
文本文件中的換行字符在讀寫時有變化。這種對文件數據的幕后的修改不影響ASCII文本文件,但是會破壞二進制數據如JPEG 或“.EXE”文件的數據。讀寫這樣的文件一定要使用二進制格式。(Macintosh中文本模式的精確描述依賴于使用的C庫)。
下面是兩種寫出平方、立方表的方法:
>>> import string >>> for x in range(1, 11): ... print string.rjust(`x`, 2), string.rjust(`x*x`, 3), ... # 前一行的結尾逗號表示不換行 ... print string.rjust(`x*x*x`, 4) ... 1 1 1 2 4 8 3 9 27 4 16 64 5 25 125 6 36 216 7 49 343 8 64 512 9 81 729 10 100 1000 >>> for x in range(1,11): ... print'%2d %3d %4d' % (x, x*x, x*x*x) ... 1 1 1 2 4 8 3 9 27 4 16 64 5 25 125 6 36 216 7 49 343 8 64 512 9 81 729 10 100 1000aspx
注意print輸出的各項之間額外加了一個空格,這是print的規定,此例顯示了函數string.rjust()的用法,此函數可以把一個字符串放進指定寬度右對齊,左邊用空格填充。類似函數還有string.ljust()和string.center()。這些函數不向外輸出,只是返回轉換后的字符串。如果輸入字符串太長也不會被截斷而是被原樣返回。
這樣的處理可能會使你的列對齊失效,但這可能比截斷要好一些,截斷的結果是我們看到一個錯誤的值。(如果你確實需要截斷的話總可以再加一層片斷,如string.ljust(x,n)[0:n])。
看完上述內容,你們掌握如何講解Python對象轉換問題的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。