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