Tidak bolehkah + dalam python digunakan sebagai penyambung seperti java?
迷茫
迷茫 2017-05-17 10:06:52
0
3
664

print('10/3 = ' + 10/3)会直接报语法错误。
如果是Java语言则会打印出 10/3 = 3, bagaimana saya boleh mencapai cetakan sedemikian melalui Python?

Saya mencari beberapa maklumat, dan mereka semua mengatakan bahawa Python's + hanya menyokong jenis yang sama, seperti print(True + False).
Bagaimana untuk melaksanakan fungsi rayuan?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(3)
淡淡烟草味

Ya, tetapi Python ialah bahasa yang ditaip dengan kuat dan tidak menyukai penukaran jenis automatik. Fakta bahawa anda boleh menggunakan '10/3 = ' + str(10/3) 这样子显式转换类型。另外 Python 能够 True + False ialah isu warisan kerana menambah nilai bool tidak masuk akal.

Sudah tentu, Python mempunyai banyak cara yang baik untuk mengendalikan penggabungan rentetan. Berikut adalah rentetan perkembangan sejarah:

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

PS: Untuk "rayuan", anda perlu melawan tuntutan mahkamah terlebih dahulu, dan kemudian jika anda tidak berpuas hati dengan penghakiman, anda boleh memfailkan "rayuan".

仅有的幸福
print('10/3 =', 10/3)
print('10/3 = {}'.format(10/3))
print('10/3 = %d'%(10/3))
Peter_Zhu

kelas myString(str):

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

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

Saya harap ia tidak akan menyebabkan sebarang kekeliruan untuk anda; jika ia adalah ruby, anda tidak perlu menyesuaikan subkelas str, cuma ubah suainya terus pada str, kerana semuanya "terbuka", walaupun saya tidak tahu banyak. tentang ruby

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan