ภาษา Python TypeError: 'list' object is not callable


🕑 10 เม.ย. 2565
ภาษา 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 ต้องใช้เครื่องหมาย [ ] 

เทพควิช-lnwquiz