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

 

转载于:https://www.cnblogs.com/luruiyuan/p/6196124.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值