print('10/3 = ' + 10/3)會(huì)直接報(bào)語(yǔ)法錯(cuò)誤。如果是Java語(yǔ)言則會(huì)打印出 10/3 = 3,請(qǐng)問(wèn)怎么通過(guò)Python實(shí)現(xiàn)這樣的打???
我搜了一些資料,都說(shuō)Python的 + 只支持同類型,如 print(True + False)。請(qǐng)問(wèn)如何實(shí)現(xiàn)上訴功能?
3 回答

LEATH
TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊
能啊,但是 Python 是強(qiáng)類型語(yǔ)言,不喜歡自動(dòng)進(jìn)行類型轉(zhuǎn)換。你可以用 '10/3 = ' + str(10/3)
這樣子顯式轉(zhuǎn)換類型。另外 Python 能夠 True + False
是個(gè)歷史遺留問(wèn)題,因?yàn)?bool 值相加沒(méi)有意義。
當(dāng)然啦,Python 處理字符串拼接有好多好辦法。以下是歷史發(fā)展順序:
'10/3 = %s' % (10/3)
'10/3 = {}'.format(10/3) # 2.6+
f'10/3 = {10/3}' # 3.6+
PS: 要「上訴」,你得先打場(chǎng)官司,然后對(duì)判決不服,才能提起「上訴」。

蕭十郎
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
print('10/3 =', 10/3)
print('10/3 = {}'.format(10/3))
print('10/3 = %d'%(10/3))

慕標(biāo)琳琳
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊
class myString(str):
def __add__(self,attr):
return ''.join([self.__str__(),'=',str(attr)])
ex=myString('10/3')
print(ex+10/3)
希望不要給你添亂;如果是ruby的話,不用自定義str的子類,直接在str上修改就可以,因?yàn)樗际恰俺ㄩ_的”,雖然我不怎么會(huì)ruby
添加回答
舉報(bào)
0/150
提交
取消