首頁  >  問答  >  主體

python中的 + 不能和java一樣作為連接符麼?

print('10/3 = ' 10/3)會直接報語法錯誤。
如果是Java語言則會印出 10/3 = 3,請問怎麼透過Python實現這樣的列印?

我搜了一些資料,都說Python的 只支援同類型,如 print(True False)
請問如何實現上訴功能?

迷茫迷茫2712 天前639

全部回覆(3)我來回復

  • 淡淡烟草味

    淡淡烟草味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: 要「上訴」,你得先打場官司,然後對判決不服,才能提起「上訴」。

    回覆
    0
  • 仅有的幸福

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

    雷雷

    回覆
    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

    回覆
    0
  • 取消回覆