Bagaimana untuk menyelesaikan ralat Python: TypeError: objek 'str' tidak boleh dipanggil?
Python ialah bahasa pengaturcaraan yang ringkas dan mudah dipelajari yang digunakan secara meluas dalam analisis data, kecerdasan buatan, pengaturcaraan rangkaian dan bidang lain. Dalam proses menulis kod dalam Python, ralat tidak dapat dielakkan. Salah satu ralat biasa ialah TypeError: objek 'str' tidak boleh dipanggil (TypeError: objek rentetan tidak boleh dipanggil). Ralat ini biasanya berlaku apabila cuba memanggil fungsi menggunakan rentetan. Artikel ini menerangkan cara menyelesaikan ralat ini dan menyediakan contoh kod yang sepadan.
Contoh ralat:
name = 'Alice' print(name()) # TypeError: 'str' object is not callable
Kaedah untuk menyelesaikan ralat ini adalah seperti berikut:
Kaedah 1: Semak sama ada kurungan digunakan
Apabila Ralat Jenis: objek 'str' tidak boleh dipanggil ralat berlaku, semak dahulu sama ada kurungan disalahgunakan dalam kod , memanggil rentetan sebagai fungsi.
Contoh yang salah:
name = 'Alice' print(name()) # 错误示例
Contoh yang betul:
name = 'Alice' print(name) # 正确示例
Dalam contoh yang betul, kami hanya mencetak nama sebagai pembolehubah dan bukannya memanggilnya sebagai fungsi. Oleh itu, ralat ini tidak lagi berlaku.
Kaedah 2: Semak sama ada nama fungsi bercanggah dengan nama pembolehubah rentetan
Kadangkala, kami mentakrifkan fungsi dalam kod dan kebetulan memberikan fungsi ini nama yang sama dengan pembolehubah rentetan. Dalam kes ini, ralat TypeError: 'str' object is not callable akan dihasilkan apabila memanggil pembolehubah rentetan.
Contoh salah:
def name(): return 'Alice' name = name() print(name()) # TypeError: 'str' object is not callable
Contoh yang betul:
def get_name(): return 'Alice' name = get_name() print(name) # 正确示例
Dalam contoh yang betul, kami menukar nama fungsi daripada nama kepada get_name, mengelakkan konflik dengan nama pembolehubah rentetan, jadi TypeError: 'str' object is not tidak akan muncul lagi ralat boleh panggil.
Kaedah 3: Semak sama ada parameter yang diperlukan untuk panggilan fungsi hilang
Contoh salah:
def greet(name): return 'Hello, ' + name print(greet()) # TypeError: greet() missing 1 required positional argument: 'name'
def greet(name): return 'Hello, ' + name print(greet('Alice')) # 正确示例
TypeError: 'str' objek bukan ralat boleh panggil biasanya disebabkan oleh penyalahgunaan kurungan, konflik antara nama fungsi dan nama pembolehubah rentetan, atau tiada parameter yang diperlukan untuk panggilan fungsi. Untuk menulis kod dengan betul dalam Python, kita perlu menyemak dengan teliti dan mengelakkan ralat ini. Dengan meneliti baris demi baris kod dan memahami peraturan sintaks asas, kami boleh mencari ralat dan membetulkannya dengan lebih cepat.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat Python: TypeError: objek 'str' tidak boleh dipanggil?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!