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 ('你好\
呀')

 

posted @ 2016-12-19 00:52  仰望高端玩家的小清新  阅读(8544)  评论(0编辑  收藏  举报