TypeError: 'modul' Objek Tidak Boleh Dipanggil
Ralat "TypeError: 'modul' objek tidak boleh dipanggil" berlaku apabila kod anda cuba untuk memanggil objek modul seolah-olah ia adalah fungsi. Dalam senario yang diberikan, ralat timbul disebabkan penggunaan modul soket yang salah.
Memahami Isu
Soket, dengan huruf kecil 's', ialah modul dalam Python yang menyediakan fungsi rangkaian. Walau bagaimanapun, kod anda cuba mencipta soket menggunakan self.serv = socket(AF_INET,SOCK_STREAM). Masalahnya ialah self.serv merujuk kepada soket objek modul, yang tidak boleh dipanggil. Untuk mencipta soket, anda perlu mengimport kelas soket daripada modul soket.
Menyelesaikan Ralat
Untuk menyelesaikan ralat, anda mempunyai dua pilihan:
Gunakan Kelas Soket Secara Terus: Import kelas soket sebagai berikut:
import socket self.serv = socket.socket(AF_INET, SOCK_STREAM)
Gunakan Penyata daripada: Import kelas soket terus menggunakan pernyataan dari:
from socket import socket self.serv = socket(AF_INET, SOCK_STREAM)
Penjelasan
Modul soket mengandungi kelas bernama soket yang mentakrifkan fungsi untuk mencipta soket rangkaian. Dengan mengimport atau merujuk terus kelas ini, kod anda boleh mencipta dan memanipulasi objek soket mengikut keperluan.
Atas ialah kandungan terperinci Mengapa kod Python saya membuang \'TypeError: \'module\' object is not callable\' semasa mencipta soket?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!