Rumah > pembangunan bahagian belakang > Tutorial Python > Ralat Python: AttributeError: objek 'modul' tidak mempunyai atribut 'xxx', bagaimana untuk menyelesaikannya?

Ralat Python: AttributeError: objek 'modul' tidak mempunyai atribut 'xxx', bagaimana untuk menyelesaikannya?

WBOY
Lepaskan: 2023-08-18 21:01:43
asal
4237 orang telah melayarinya

Python报错:AttributeError: 'module' object has no attribute 'xxx',该如何解决?

Ralat Python: AttributeError: objek 'modul' tidak mempunyai atribut 'xxx', bagaimana untuk menyelesaikannya?

Dalam proses pengaturcaraan dalam Python, kita mungkin menghadapi pelbagai ralat. Salah satu ralat biasa ialah AttributeError. Ralat ini dicetuskan apabila kami cuba mengakses harta yang tidak wujud dalam objek modul. Untuk lebih memahami ralat ini dan penyelesaiannya, mari kita lihat contoh dahulu.

Katakan kita mempunyai fail modul yang dipanggil module_test.py dengan kandungan berikut:

# module_test.py

def hello():
    print("Hello, world!")
Salin selepas log masuk

Sekarang, dalam fail Python yang lain, kami cuba mengimport modul ini dan memanggil fungsi hello:

# main.py

import module_test

module_test.hello()
module_test.world()
Salin selepas log masuk

Output yang diharapkan ialah:

Hello, world!
Salin selepas log masuk
Salin selepas log masuk

Tetapi selepas menjalankan kod, kami menemui mesej ralat berikut:

AttributeError: 'module' object has no attribute 'world'
Salin selepas log masuk

Ralat ini memberitahu kami bahawa objek modul (module_test) tidak mempunyai sifat atau kaedah bernama 'dunia'. Jadi, bagaimana kita menyelesaikan masalah ini? Berikut adalah beberapa penyelesaian yang mungkin.

  1. Semak ralat ejaan: Pertama, kita perlu menyemak dengan teliti untuk kesilapan ejaan dalam kod. Pastikan kita menulis fungsi dan nama pembolehubah dalam modul dengan betul. Dalam contoh ini, kami mengeja fungsi helo dengan betul, tetapi kami cuba memanggil fungsi dunia yang tidak wujud, menyebabkan ralat. Mengubah suai kod kepada module_test.hello() boleh menyelesaikan masalah.
# main.py

import module_test

module_test.hello()
Salin selepas log masuk
Salin selepas log masuk
  1. Semak sama ada import adalah betul: Kami juga perlu memastikan bahawa modul diimport dengan betul. Dalam Python, kita boleh mengimport modul menggunakan pernyataan import. Dalam contoh di atas, kami menggunakan import module_test untuk mengimport kod dalam fail module_test.py. Pastikan nama modul dan nama fail sepadan dan fail modul berada di lokasi yang betul.
  2. Sahkan bahawa atribut atau kaedah wujud dalam modul: Apabila mengimport modul, kita perlu memastikan bahawa atribut atau kaedah wujud dalam modul. Dalam contoh ini, kami cuba memanggil fungsi dunia yang tidak wujud dalam modul_test, jadi AttributeError akan dicetuskan. Kita harus menyemak sama ada harta atau kaedah ditakrifkan dalam fail modul. Jika ia tidak wujud, kita perlu menambah definisi atau menggunakan kaedah lain yang sesuai.

Menurut penyelesaian di atas, kod main.py kami yang diubah suai adalah seperti berikut:

# main.py

import module_test

module_test.hello()
Salin selepas log masuk
Salin selepas log masuk

Kini, apabila kami menjalankan fail utama main.py, kami akan mendapat output yang betul:

Hello, world!
Salin selepas log masuk
Salin selepas log masuk

Ringkasan:
Ralat Python Terhadap AttributeError: objek 'modul' tidak mempunyai atribut 'xxx', kita harus menyemak dengan teliti ralat ejaan dalam kod, mengesahkan sama ada import adalah betul dan memastikan atribut atau kaedah wujud dalam modul. Melalui penyelesaian di atas, kami boleh menyelesaikan ralat ini dan menjadikan program kami berjalan seperti biasa.

Saya harap artikel ini dapat membantu anda menyelesaikan masalah ralat Python AttributeError: objek 'modul' tidak mempunyai atribut 'xxx'. Semoga berjaya dengan pengaturcaraan anda!

Atas ialah kandungan terperinci Ralat Python: AttributeError: objek 'modul' tidak mempunyai atribut 'xxx', bagaimana untuk menyelesaikannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan