天天看點

【C++程式員學 python】python 之奇葩地方

一、python 奇葩之一:沒有花括号、沒有分号

先來一個C類型的函數

void main()
{
	int i = 0;
	for(int j = 0; j< 6;j++)
	{
		i = i +j;
	}
}
           

一旦我們适應了這種方式,那麼改變成python後就會很不習慣。我曾經有一種瘋狂的沖動,那就是寫一個程式來完成從花括号到python 對齊方式的轉換。

【C++程式員學 python】python 之奇葩地方

二、python 奇葩之二:編碼方式

這裡提到的編碼有兩種,一種是檔案本身的編碼,包括ANSI、UTF-8、UTF-8 BOM等,當然,還有什麼大端、小端的。

還有一種是程式本身的編碼,如果使用預設編碼

例如(Win 32 下)

a = "漢"
a
'\xe6\xb1\x89'
           

如果使用unicode

u = u"漢"
u
u'\u6c49'
           

然後是utf-8

s = u.encode('utf-8')
s
'\xe6\xb1\x89'
           

然後是gbk

g = u.encode('gbk')
g
'\xba\xba'
           

然後是gb2312

gb2312 = u.encode('gb2312')
gb2312
'\xba\xba'
           

這個部落格貌似不錯:http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html

注:由于本人新手,寫的日志也僅供本人參考,請勿照搬,謹慎閱讀,防止誤導。