为了账号安全,请及时绑定邮箱和手机立即绑定

python中的 + 不能和java一样作为连接符么?

python中的 + 不能和java一样作为连接符么?

慕哥9229398 2019-03-01 11:07:17
print('10/3 = ' + 10/3)会直接报语法错误。如果是Java语言则会打印出 10/3 = 3,请问怎么通过Python实现这样的打印? 我搜了一些资料,都说Python的 + 只支持同类型,如 print(True + False)。请问如何实现上诉功能?
查看完整描述

3 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

能啊,但是 Python 是强类型语言,不喜欢自动进行类型转换。你可以用 '10/3 = ' + str(10/3) 这样子显式转换类型。另外 Python 能够 True + False 是个历史遗留问题,因为 bool 值相加没有意义。

当然啦,Python 处理字符串拼接有好多好办法。以下是历史发展顺序:

'10/3 = %s' % (10/3)
'10/3 = {}'.format(10/3) # 2.6+
f'10/3 = {10/3}'         # 3.6+

PS: 要「上诉」,你得先打场官司,然后对判决不服,才能提起「上诉」。

查看完整回答
反对 回复 2019-03-01
?
萧十郎

TA贡献1815条经验 获得超13个赞

print('10/3 =', 10/3)
print('10/3 = {}'.format(10/3))
print('10/3 = %d'%(10/3))
查看完整回答
反对 回复 2019-03-01
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

class myString(str):

def __add__(self,attr):
    return ''.join([self.__str__(),'=',str(attr)])

ex=myString('10/3')
print(ex+10/3)

希望不要给你添乱;如果是ruby的话,不用自定义str的子类,直接在str上修改就可以,因为它都是“敞开的”,虽然我不怎么会ruby

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 606 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信