HomeLập trìnhPythonđối tượng mô-đun...

đối tượng mô-đun không thể gọi được [Python Error Solved]


Trong bài viết này, chúng ta sẽ nói về lỗi “TypeError: ‘module’ object is not callable” trong Python.

Chúng ta sẽ bắt đầu bằng cách xác định một số từ khóa được tìm thấy trong thông báo lỗi — modulecallable.

Sau đó, bạn sẽ thấy một số ví dụ gây ra lỗi và cách khắc phục.

Vui lòng bỏ qua hai phần tiếp theo nếu bạn đã biết mô-đun là gì và ý nghĩa của việc gọi hàm hoặc phương thức.

Mô-đun trong lập trình là gì?

Trong lập trình mô-đun, mô-đun đơn giản là các tệp chứa các chức năng tương tự cần thiết để thực hiện một tác vụ nhất định.

Các mô-đun giúp chúng tôi tách và nhóm mã dựa trên chức năng. Ví dụ: bạn có thể có một mô-đun tên là math-ops.py mà sẽ chỉ bao gồm mã liên quan đến hoạt động toán học.

Điều này giúp dễ đọc, sử dụng lại và hiểu mã hơn. Để sử dụng một mô-đun trong một phần khác của cơ sở mã của bạn, bạn phải nhập mô-đun đó để có quyền truy cập vào tất cả các chức năng được xác định trong mô-đun.

Đọc thêm  Giới thiệu về kiểm tra đơn vị trong Python

Trong Python, có nhiều mô-đun tích hợp sẵn như os, math, timevà như thế.

Đây là một ví dụ cho thấy cách sử dụng math mô-đun:

import math

print(math.sqrt(25))
//5.0

Như bạn có thể thấy ở trên, điều đầu tiên chúng tôi làm trước khi sử dụng math mô-đun là để nhập nó: import math.

Sau đó, chúng tôi đã sử dụng mô-đun sqrt phương thức trả về căn bậc hai của một số: math.sqrt(25).

Tất cả những gì chúng tôi cần để lấy căn bậc hai của 25 là hai dòng mã. Trong thực tế, các math riêng mô-đun đã có hơn 3500 dòng mã.

Điều này sẽ giúp bạn hiểu module là gì và nó hoạt động như thế nào. Bạn cũng có thể tạo các mô-đun của riêng mình (chúng ta sẽ làm điều đó sau trong bài viết này).

làm gì callable Có nghĩa là trong Lỗi “TypeError: đối tượng mô-đun không thể gọi được”?

Trong Python và hầu hết các ngôn ngữ lập trình, động từ “gọi” được liên kết với việc thực thi mã được viết trong một hàm hoặc phương thức.

Các thuật ngữ tương tự khác chủ yếu được sử dụng với cùng một hành động là “gọi” và “cháy”.

Đây là một hàm Python in “Smile!” đến bảng điều khiển:

def smile():
    print("Smile!")

Nếu bạn chạy đoạn mã trên, sẽ không có gì được in ra bàn điều khiển vì chức năng smile vẫn chưa được gọi, gọi hoặc kích hoạt.

Để thực thi hàm, chúng ta phải viết tên hàm theo sau dấu ngoặc đơn. Đó là:

def smile():
    print("Smile!")
    
smile()
# Smile!

Không có dấu ngoặc đơn, hàm sẽ không được thực thi.

Đọc thêm  Cách cài đặt Python 3 trên máy Mac – Hướng dẫn cập nhật cài đặt bia

Bây giờ bạn nên hiểu những gì thuật ngữ callable có nghĩa là trong thông báo lỗi: “Đối tượng TypeError: ‘module’ không thể gọi được”.

Lỗi “TypeError: đối tượng mô-đun không thể gọi được” có nghĩa là gì trong Python?

Hai phần trước đã giúp chúng tôi hiểu một số từ khóa được tìm thấy trong thông báo lỗi “TypeError: ‘module’ object is not callable”.

Nói một cách đơn giản, lỗi “TypeError: ‘module’ object is not callable” có nghĩa là các mô-đun không thể được gọi giống như các hàm hoặc phương thức.

Cách khắc phục lỗi “TypeError: module object is not callable” trong Python

Nói chung, có hai cách có thể gây ra lỗi “TypeError: ‘module’ object is not callable”: gọi một mô-đun bên thứ ba hoặc sẵn có và gọi một mô-đun thay cho một hàm.

Ví dụ lỗi #1

import math

print(math(25))
# TypeError: 'module' object is not callable

Trong ví dụ trên, chúng tôi gọi là math mô-đun (bằng cách sử dụng dấu ngoặc đơn ()) và chuyển 25 làm tham số với hy vọng thực hiện một phép toán cụ thể: math(25). Nhưng chúng tôi đã nhận lỗi.

Để khắc phục điều này, chúng ta có thể sử dụng bất kỳ phương pháp toán học nào được cung cấp bởi math mô-đun. Chúng tôi sẽ sử dụng sqrt phương pháp:

import math

print(math.sqrt(25))
# 5.0

Ví dụ lỗi #2

Đối với ví dụ này, tôi sẽ tạo một mô-đun để tính toán hai số:

# add.py

def add(a,b):
    print(a+b)
    

Tên của mô-đun trên là add có thể bắt nguồn từ tên tệp thêm.py.

Đọc thêm  Các thư viện cần thiết cho Machine Learning trong Python

Hãy nhập khẩu add() chức năng từ add mô-đun trong một tệp khác:

# main.py
import add

add(2,3)
# TypeError: 'module' object is not callable

Chắc hẳn bạn đang thắc mắc tại sao chúng tôi gặp lỗi mặc dù chúng tôi đã nhập mô-đun.

Chà, chúng tôi đã nhập mô-đun chứ không phải chức năng. Đó là lý do tại sao.

Để khắc phục điều này, bạn phải chỉ định tên của hàm trong khi nhập mô-đun:

from add import add

add(2,3)
# 5

Chúng tôi đang cụ thể: from add import add. Điều này giống như nói, “từ mô-đun add.py, hãy nhập add chức năng”.

Bây giờ bạn có thể sử dụng add() chức năng trong chính.py tập tin.

Tóm lược

Trong bài viết này, chúng ta đã nói về lỗi “TypeError: ‘module’ object is not callable” trong Python.

Lỗi này chủ yếu xảy ra khi chúng ta gọi hoặc gọi một mô-đun như thể đó là một hàm hoặc phương thức.

Chúng tôi bắt đầu bằng cách thảo luận về mô-đun trong lập trình và ý nghĩa của việc gọi một hàm – điều này giúp chúng tôi hiểu nguyên nhân gây ra lỗi.

Sau đó, chúng tôi đã đưa ra một số ví dụ cho thấy lỗi được nêu ra và cách khắc phục.

Chúc mừng mã hóa!



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status