[Python]同是新手的我,分享一些經驗


本來想分享一些知識,但是發現,寫着寫着,感覺分享一些經驗,或許會少讓大家走一些彎路,索性就把標題一改。

我不是教給大家些什么,我沒有資格,我也是摸着石頭過河,我只是本着分享的精神,在這里分享自己的東西。

我是python新手,前段時間剛看完基本語法,跑去看flask官方文檔。發現還是有些地方不明白。不知道g 這個東西原理是什么,往里面怎么放東西之類的,不是很清楚。

對於官方文檔里面將的本地環境也不理解。但是也是有些收獲,不能說完全掌握,但是寫個簡單的跳轉頁面,交互的頁面也能完成。這里說的東西多了,其實我就是想說:

我走在學習python的道路上,我不是怕難的知識,我是怕沒有方向。總而言之一句話,學就是進步,學的多了,也就有方向了。

遇到問題的時候,我就對自己說:你看不懂的地方,那是因為,你之前有的地方沒有看懂。那就去查,去學。想學高級武功成為高手,沒有之前的積累,就能隨隨便便的學成,那高手也就不值錢了。

我東學學,西學學發現。發現了一本適合我們剛入門的新手學習的書:

《編寫高質量代碼——改善python程序的91個建議》

舉個類子來說,你學會了出拳,學會了踢腿,但什么時候用那個?沒有前輩的指導,親身的體驗,你是不會完全掌握的。而這本書,羅列出來的91個建議,就是前輩的經驗之談。換個說法,這個是攻略。看過《代碼大全》的人大概也明白我的意思了。

推薦閱讀的順序(悄悄的告訴你們我才看了三分之一......)

第一章不要先看,因為這是總綱領,靠生記,記不住的,讀過有印象即可

第二章,第三章,一個字一個字的讀,例子運行一邊,每天不要讀的太多。多多回味!

我的方法是,把每一建議都寫一些筆記,這本書真的是太好了,我總結的都沒有書上的好,就算抄我也一個字一個字打出來,我的筆記都放在github上了,下面有地址。

這里我要聲明,我幾乎沒有自己寫過什么東西,寫的都是一些例子,沒有什么自己的東西。

去我的github上看看就知道了。。。https://github.com/521xueweihan/

我的思路是這樣的:我做了十幾年的學生,如果說擅長什么就是讀書,一般套路就是先掌握理論知識再真刀實槍的干,這樣不會被虐的太慘。

這只是我的個人之言,僅供參考!!!僅供參考。

本來我的這篇文章打算就貼出來下面這些內容,結果好幾天沒寫文章,憋的話太多,就寫的跑偏了。

下面就是我讀《編寫高質量代碼——改善python程序的91個建議》的一篇筆記

(我一般是先看,之后在寫筆記,我看到第三章,筆記記到第二章,這么相當與讀兩邊書。)

#coding:utf-8 ################ # 17.考慮兼容性,盡可能使用Unicode ###############
""" 前言:Python內建的字符串有兩種類型:str和Unicode,因為最早的ASCII編碼使用一個字節 只能表示128個字符,但是對於很多語言128個字符數遠遠不夠,這個時候出現了多種編碼格式 從而導致不同平台,不同語言之間的文本無法進行很好地轉換。 要解決這個問題,必須為不同的文字分配統一的編碼,Unicode,也被稱為‘萬國碼’。 """
##### # 場景1:讀取文件顯示亂碼
 filehandle = open("test.txt", 'r')  # 讀取測試中文文件‘test.txt’
print filehandle.read() filehandle.close() #關閉資源

# 因為:文本的編碼為UTF-8,但是windows系統中他被映射為GBK編碼,所以在運行之后, # 兩種編碼並不兼容。 # Unicode 為不同語言設置了唯一的二進制表表示形式(方便於相互轉化) #####

# 解決辦法:使用decode()和encode()方法,分別是解碼和編碼
 filehandle = open("test.txt", 'r')  # 讀取測試中文文件‘test.txt’ # 這里decode()方法將其他編碼對應的字符串解碼成Unicode, # encode()方法將Unicode編碼轉換為另一種編碼,Unicode作為中間編碼
print (filehandle.read().decode("UTF-8")).encode("gbk") filehandle.close() #關閉資源


##### # 場景2:輸出中文字符,拋出異常SyntaxError

print '中文測試'

# 因為:Python中默認的編碼是ASCII編碼,包含中文的字符串。當調用print輸出時 # 采用隱式地進行從ASCII到系統默認編碼的轉換,中文字符並不是ASCII字符,此時 # 源文件又未指定其他編碼方式,這時便會拋出SyntaxError異常 ##### # 解決辦法:在源文件中進行編碼聲明, # 如:#coding=utf-8

print '中文測試'


##### # 場景3:普通字符串和Unicode進行字符串連接時拋出UnicodeDecodeError異常

print '中文測試' + u'Chinese Test' #拋出異常

# 因為:當兩種類型的字符串連接的時候,Python將左邊的中文字符串轉換為 # Unicode再與右邊的Unicode字符串連接,這時將‘中文測試’字符串轉換為Unicode # 使用系統默認的ASCII編碼對字符串進行解碼,但是其中‘中’字對應的值為214, # 當編碼值在0~127的時候Unicode和ASCII是兼容的,但是大於128的時候,ASCII編碼 # 不能正確處理這種情況,則拋出異常 ##### # 解決辦法:把中文字符解碼成gbk編碼
print '中文測試'.decode('gbk') + u'Chinese Test' 


# 筆記 # 對於中文字符,為了做到不同系統之間的兼容,建議使用Unicode方式表示。 # Python2.6之后可以通過import unicode_literals自動將定義的普通字符 # 識別為Unicode字符串,這樣字符串的行為將和Python3中保持一致。

# 形式如下:

#from __future__ import unicode_literals
s = '中文測試'
print s


不論學的什么,只要堅持每天都學,肯定會學成。不論寫多少行代碼,每天都寫,肯定會有長進。(像我每天只寫例子,我還是堅持寫)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM