ภาษา Python TypeError: 'list' object is not callable
ใครที่กำลังเริ่มฝึกเขียนภาษา Python แล้วเจอ Error >> TypeError: 'list' object is not callable เรามาดูสาเหตุและวิธีแก้ไขกันดีกว่า
TypeError: 'list' object is not callable ที่แอดมินเคยจอมีอยู่ 2 กรณีดังนี้
กรณีที่ 1 มีการสร้างฟังก์ชั่น หรือตัวแปรด้วยคำว่า "list"
ในภาษา Python คำว่า "list" เป็นชื่อฟังก์ชันมาตรฐาน และไม่แนะนำให้ใช้ชื่อ "list" ในการสร้างฟังก์ชันหรือใช้เป็นชื่อตัวแปร
แต่ถ้าคุณทำแบบตัวอย่างโค้ดด้านล่างคือเอาคำว่า "list" มาตั้งเป็นชื่อตัวแปร "list" จะสูญเสียคุณสมบัติของการเป็นฟังก์ชันและทำหน้าที่เป็นตัวแปรแทน
ตัวอย่างโค้ดที่รันแล้วเกิด error
my_number_1 = "123456"
list = list(my_number_1)
print(list)
#--------------------------------
my_number_2="789"
number_list=list(my_number_2)
print(number_list)
ผลลัพธ์
['1', '2', '3', '4', '5', '6']
Traceback (most recent call last):
File "main.py", line 6, in <module>
number_list=list(my_number_2)
TypeError: 'list' object is not callable
กรณีที่ 2 เรียกใช้งานตัวแปรประเภท list ด้วยเครื่องหมายวงเล็บ ()
ตัวอย่างโค้ดที่รันแล้วเกิด error
my_num = [1, 2, 3, 4, 5, 6]
first_num = my_num(0)
print(first_num)
ผลลัพธ์
Traceback (most recent call last):
File "main.py", line 2, in <module>
first_num = my_num(0)
TypeError: 'list' object is not callable
วิธีแก้ไขไม่ให้เกิด TypeError: 'list' object is not callable
ห้ามตั้งชื่อตัวแปรหรือฟังก์ชั่นเป็นชื่อ "list" และหากต้องการเข้าถึงตัวแปรชนิด List ต้องใช้เครื่องหมาย [ ]