>source

내 프로그램에서 특정 변수가 목록에 있는지 찾으려고합니다. 그러나 나는 다음 과거의 오류를 계속 얻고 나는 그것을 지나치게하는 방법에 매우 멈추고있다 :

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Users\mikey\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
  File "G:\My Drive\DGT301\Python\AS\order.py", line 171, in confirm_order
    self.check(self.order_item, self.food_list)
TypeError: check() missing 1 required positional argument: 'self'

여기 내 code가 있습니다.

def find(thing, list3d):
    for x in list3d:
         for y in x:
            if y[1]== thing:
                return True
    return False
def check(item, list3d, result, self):
    self.result= 'found' if self.find(item, list3d) else 'not found'
    print(f'{item} was {result}')
def confirm_order(self):
    self.order_item= self.r.get()
    self.check(self.order_item, self.food_list)

나는 "자기 '를 넣었습니다. 모든 변수가 있기 전에 일부를 제거하고 오류는 동일하게 유지됩니다.

모든 code인가요? 클래스에 속하는 방법은 첫 번째 arg처럼 자아를 필요로합니다. 당신이 게시 한 것은 맥락이없는 고아 방법 일뿐입니다.

Phix2021-05-13 11:17:52

당신은 자기를 사용할 필요가 없습니다. 모든 변수가 함수의 범위 내에 있거나 매개 변수로 전달 된 모든 변수가 있으며 모든 기능이 전역 범위에 있기 때문에 함수에 필요하지 않습니다.

User9966332021-05-13 11:17:52
  • 이전 java : Spring Data JPA : 부모를 통과하지 않고 OneTomany 아이를 삭제하십시오.
  • 다음 Instagram 계정 이름이 있는지 확인하십시오