Trong Python, “Typeerror” xảy ra khi bạn sử dụng các loại dữ liệu khác nhau trong một thao tác.
Ví dụ: nếu bạn cố gắng chia một số nguyên (số) cho một chuỗi, nó sẽ dẫn đến một typeerror
bởi vì một kiểu dữ liệu số nguyên không giống như một chuỗi.
Một trong những lỗi loại đó là lỗi “int object is not callable”.
Lỗi “int object is not callable” xảy ra khi bạn khai báo một biến và đặt tên cho nó bằng tên hàm có sẵn, chẳng hạn như int()
, sum()
, max()
và những người khác.
Lỗi này cũng xảy ra khi bạn không chỉ định một toán tử số học trong khi thực hiện một phép toán.
Trong bài viết này, tôi sẽ chỉ cho bạn cách lỗi xảy ra và những gì bạn có thể làm để khắc phục nó.
Làm thế nào để khắc phục Typeerror: int object is not callable
trong Tên chức năng tích hợp
Nếu bạn sử dụng tên hàm dựng sẵn làm biến và gọi nó như một hàm, bạn sẽ gặp lỗi “int object is not callable”.
Chẳng hạn, mã bên dưới cố gắng tính tổng số tuổi của một số trẻ em có sẵn sum()
chức năng của Python. Mã dẫn đến lỗi vì giống nhau sum
đã được sử dụng làm tên biến:
kid_ages = [2, 7, 5, 6, 3]
sum = 0
sum = sum(kid_ages)
print(sum)
Một ví dụ khác dưới đây cho thấy tôi đã cố gắng để có được người lớn tuổi nhất trong số những đứa trẻ đó bằng max()
chức năng, nhưng tôi đã khai báo một max
biến đã có:
kid_ages = [2, 7, 5, 6, 3]
max = 0
max = max(kid_ages)
print(max)
Cả hai ví dụ về mã đều dẫn đến lỗi này trong thiết bị đầu cuối:
Để khắc phục sự cố này, bạn cần thay đổi tên của biến mà bạn đã đặt tên là hàm tích hợp để mã có thể chạy thành công:
kid_ages = [2, 7, 5, 6, 3]
sum_of_ages = 0
sum = sum(kid_ages)
print(sum)
# Output: 23
kid_ages = [2, 7, 5, 6, 3]
max_of_ages = 0
max = max(kid_ages)
print(max)
# Output: 7
Nếu bạn loại bỏ các biến tùy chỉnh, mã của bạn sẽ vẫn chạy như mong đợi:
kid_ages = [2, 7, 5, 6, 3]
sum = sum(kid_ages)
print(sum)
# Output: 23
kid_ages = [2, 7, 5, 6, 3]
max = max(kid_ages)
print(max)
# Output: 7
Làm thế nào để khắc phục Typeerror: int object is not callable
trong tính toán toán học
Trong Toán học, nếu bạn làm phép tính như 4(2+3), bạn sẽ nhận được câu trả lời đúng là 20. Nhưng trong Python, điều này sẽ dẫn đến Typeerror: int object is not callable
lỗi.
Để khắc phục lỗi này, bạn cần cho Python biết bạn muốn nhân số bên ngoài dấu ngoặc đơn với tổng của các số bên trong dấu ngoặc đơn.
Để làm điều này, bạn làm điều này bằng cách chỉ định một dấu nhân
print(4*(2+3))
#Output: 20
trước dấu ngoặc đơn mở:
Python cho phép bạn chỉ định bất kỳ dấu số học nào trước dấu ngoặc đơn mở.
print(4+(2+3))
# Output: 9
print(4-(2+3))
# Output: -1
print(4/(2+3))
# Output: 0.8
Vì vậy, bạn cũng có thể thực hiện các phép tính khác ở đó:
Suy nghĩ cuối cùng Typeerror: int object is not callable
Các
là lỗi dành cho người mới bắt đầu trong Python mà bạn có thể tránh được một cách đơn giản.
Như đã trình bày trong bài viết này, bạn có thể tránh lỗi bằng cách không sử dụng tên hàm tích hợp làm định danh biến và chỉ định các dấu số học khi cần thiết.
Cảm ơn bạn đã đọc.
Zik.vn – Biên dịch & Biên soạn Lại