Heim  >  Fragen und Antworten  >  Hauptteil

Kann + in Python nicht als Connector wie Java verwendet werden?

print('10/3 = ' + 10/3)会直接报语法错误。
如果是Java语言则会打印出 10/3 = 3, wie kann ich einen solchen Druck mit Python erreichen?

Ich habe nach einigen Informationen gesucht und alle sagten, dass Pythons + nur denselben Typ unterstützt, z. B. print(True + False).
Wie implementiert man die Einspruchsfunktion?

迷茫迷茫2712 Tage vor645

Antworte allen(3)Ich werde antworten

  • 淡淡烟草味

    淡淡烟草味2017-05-17 10:08:52

    能啊,但是 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: 要「上诉」,你得先打场官司,然后对判决不服,才能提起「上诉」。

    Antwort
    0
  • 仅有的幸福

    仅有的幸福2017-05-17 10:08:52

    print('10/3 =', 10/3)
    print('10/3 = {}'.format(10/3))
    print('10/3 = %d'%(10/3))

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-05-17 10:08:52

    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

    Antwort
    0
  • StornierenAntwort