python編碼問題 與 代碼換行問題


轉載請注明:

 

仰望高端玩家的小清新 http://www.cnblogs.com/luruiyuan/

 

python程序對於unicode碼的支持情況不同

python3 支持較好,在文件開頭加入如下代碼即可工作

1 #-*- coding: utf-8 -*-

簡單例子如下:

1 #-*- coding: utf-8 -*-
2 
3 print ('Hellow World\n')
4 print ('Hellow Again')

如果不加入上述代碼,則會提示存在無法解析的字符的問題

 

python2 則有缺陷,即使加入了上述代碼,中文在cmd輸出仍然會出現亂碼

例子如下

1 #-*- coding: utf-8 -*-
2 
3 print 'Hellow World\n'
4 print 'Hellow Again'
5 print '你好'

結果如圖

修正方案:

有3個可行的方案:

  1. 在文件開頭加入
    from __future__ import unicode_literals
1 #-*- coding: utf-8 -*-
2 from __future__ import unicode_literals
3 print ('Hellow World\n')
4 print ('Hellow Again')
5 print '你好'

       2.在中文字符串前加字母u

#-*- coding: utf-8 -*-
print ('Hellow World\n')
print ('Hellow Again')
print u'你好'

   3. 更加推薦的是如下寫法,這種寫法修改的更徹底,並且中文字符串前不再需要u,並且能夠避免絕大部分編碼問題

1 from __future__ import unicode_literals
2 import sys
3 reload(sys)
4 sys.setdefaultencoding('gbk')

 

 

 

代碼如何換行?

在需要換行的地方加 \ 然后接着寫即可,親測python2 和python 3均可用

#python 2
print 'Compsed to the IDE, in the cmd, each print funciton will\ 
'generate a new line'

#python 3
print ('你好\
呀')

 


免責聲明!

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



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