windows的Python分別有Python2.x和3.x這里為您提供的是python for windows 2.7.12 官方最新版,由于兼容性的原因,很多老的程序都是基于2.x。
Python2.x特點
在python 2.x中,有兩種整數類型,一般的32位整數和長整數,長整數都是以L或者l(不建議使用小寫l, 容易跟1搞混),超過32位長度之后會自動轉換為長整形。
在Python 2.x中,表示八進制字面量有兩種方式,一是同眾多我們所熟悉的編程語言一樣,直接在數字前加0,比如01000, 另外是加0o(0和小寫字母o)0o1000
Python 2.x中不等于有兩種寫法 != 和 <>
Python 2.x 中反引號``相當于repr函數的作用
在python 2.x中/除法就跟我們熟悉的大多數語言,比如Java啊C啊差不多,整數相除的結果是一個整數,把小數部分完全忽略掉,浮點數除法會保留小數點的部分得到一個浮點數的結果。
Python 2.x中允許不同類型的對象進行比較
在2.x的時代,Python只有兩個作用域,模塊里面的全局作用域和函數的局部作用域,但是隨著在函數中定義函數的情況越來越多,比如裝飾器、閉包等等,這里面就出現了內層函數引用外層函數變量的問題
Python2.x會以先相對再絕對的模塊搜索順序
Python2.x中文亂碼問題
在Python3中,對中文進行了全面的支持,但在Python2.x中需要進行相關的設置才能使用中文。否則會出現亂碼.
在Python2.x中主要是字符編碼的問題,處理不好的話,會導致亂碼。Python默認采取的ASCII編碼,字母、標點和其他字符只使用一個字節來表示,但對于中文字符來說,一個字節滿足不了需求。為了能在計算機中表示所有的中文字符,中文編碼采用兩個字節表示。如果中文編碼和ASCII混合使用的話,就會導致解碼錯誤,從而才生亂碼。而CMD下默認的編碼方式為:GBK,所以就造成了上面的亂碼!
為了將各種不同的語言包含在統一的字符集中,滿足國際間的信息交流,國際上制訂了UNICODE字符集,包含了世界上所有語言字符,這些字符具有唯一的編碼,通過使用UNICODE字符集可以滿足跨語言的文字處理,避免亂碼的產生。
i) 交互式命令中:一般不會出現亂碼,無需做處理
ii) py腳本文件中:跨字符集必須做設置,否則亂碼。
首先在開頭一句添加:
[python] view plain copy print?在CODE上查看代碼片派生到我的代碼片
# coding = utf-8
# 或
# coding = UTF-8
# 或
# -*- coding: utf-8 -*-
其次需將文件保存為UTF-8的格式!
上面那一句僅僅是告訴Python編譯器:腳本中包含了非ASCII字符,并未進行轉換。
如果要將字符編碼從默認的ASCII改為UTF-8,需要在保存的時候選擇保存為UTF-8格式。
如果是用NODEPAD打開,【另存為】-->UTF-8即可