吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 869|回复: 4
收起左侧

[求助] python2.7.18版本 转义字符的问题

[复制链接]
Jersing 发表于 2020-9-8 10:51
在学习的时候碰到这么一个问题,代码如下
#coding:utf-8
s1 = '\'hello, world!\''
s2 = '\n\\hello, world!\\\n'
print(s1,s2)
输出结果为
("'hello, world!'", '\n\\hello, world!\\\n')
然后我把他们分别打印
#coding:utf-8
s1 = '\'hello, world!\''
s2 = '\n\\hello, world!\\\n'
print(s1)
print(s2)
结果又正常了
'hello, world!'
\hello, world!\
然后我做了一个尝试,在print后面加一个逗号,多输出一个空字符
#coding:utf-8
s1 = '\'hello, world!\''
s2 = '\n\\hello, world!\\\n'
print(s1)
print(s2,)
结果s2的转义字符就不被识别了

'hello, world!'
('\n\\hello, world!\\\n',)
然后我就想到,那以后岂不是得一个个输出?
搜了许多资料好像没人有这个问题,希望各位大神能帮我解决解决


















发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

bluerabbit 发表于 2020-9-8 11:20
2.7 版都不支持了,楼主为什么不用 python 3 现在应该是 3.7 吧
niuyufeng 发表于 2020-9-8 11:29
本帖最后由 niuyufeng 于 2020-9-8 11:34 编辑

因为 print 在 2.x 中 是不带括号的。 你带上括号,就成了 print 一个 tuple.
正确的写法是
print s1
print s2

或者 加上一句 from __future__ import print_function 这样后面就可以用带括号的print 函数了

另外建议学习3.x
2.x中的字符串是 单字节字符串,unicode 写法是 u'string',处理中文时会有各种坑,
3.x中的字符串已经变成 双字节字符串,bytes 写法是 b'bytes' .

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Jersing + 1 + 1 谢谢@Thanks!

查看全部评分

rsnodame 发表于 2020-9-8 14:44
支持楼上的解释。已经完全没必要从python2入门了
幻世混沌 发表于 2020-9-19 23:46
这个就比较简单了   将模块内将Python2语法转化为Python3语法,  导包如下
[Python] 纯文本查看 复制代码
from __future__ import print_function, unicode_literal, absolute_import, division
#  上面4个函数分别表示对Python3 中的print支持, unicode编码支持, 导包顺序支持, 除法支持
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 13:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表