python 3k 용 cpython 코드를 읽고 있는데 dict_subscript
이 호출 될 때만 __missing__
이 호출되지만, PyDict_GetItem
이 사용되는 경우에는 호출되지 않습니다. 이 두 가지 방법의 차이점은 무엇이며 각각이 호출 될 때 무엇입니까? dict의 서브 클래스 인 PyObject를 넘겨주고 __missing__
메쏘드를 가지고 있다면 어떻게 사용합니까? PyDict_GetItem
은 그렇게하지 않습니다.cpython : PyDict_GetItem이 호출되고 dict_subscript?
1
A
답변
1
관찰, 추측 등 :
같은 파이썬 2.x 또는 3.0에서 발생
dict_subscript
은 high_level dict.__getitem__
메서드와 동일한 기능을 구현하므로 adict[somekey]
이 파이썬 코드의 할당보다 왼쪽에 나타날 때마다 호출됩니다.
PyDict_GetItem
은 C API의 일부입니다. 아마도 업데이트되지 않은 것 같습니다.
PyDict_GetItem
의 시작 무서운 의견을 읽고 데, 한번은 그 전화를 아마 당신은
my_getitem = getattr(my_dict, '__getitem__')
의 C 레벨에 해당 할 수 있습니다 ;-) 대신
을 PyDict_GetItemWithError
을 사용하는 것입니다.
아마 버그 티켓을 올리거나 comp.lang.python
에 질문 할 수 있습니다.관련 문제
- 1. Java의 CPython?
- 2. 최저 발자국 Python? CPython?
- 3. CPython WPF interop
- 4. 적절한 CPython 문자열 연결
- 5. CPython 또는 IronPython?
- 6. 생성자가 다시 호출되고 있습니까?
- 7. Struts는 어떤 메소드가 호출되고 있습니까?
- 8. Main() 클래스가 호출되고 있습니까? 방법?
- 9. cpython 패키지를 사용할 수 있습니까?
- 10. CPython/Jython 교차 구현 GUI
- 11. CPython 구현 내부 용 문서
- 12. IronPython ScriptRuntime은 CPython PYTHONPATH와 같습니다.
- 13. pageLoad()가 어떻게 호출되고 있습니까?
- 14. initWithNibName 전에 ViewDidLoad가 호출되고 있습니까?
- 15. 초기화가 호출되고 있는데 이유를 모르겠습니다.
- 16. 왜 viewWillAppear 전에 UITableView 메서드가 호출되고 있습니까?
- 17. 때때로 asp.net 페이지가 호출되고 일부 시간이 아님
- 18. 내 안드로이드지도 오버레이에서 끊임없이 무승부가 호출되고 있습니다.
- 19. RegFree with CPython with win32com module
- 20. CPython 외에도 Python 구현이 준비 되었습니까?
- 21. 파이썬에서 예외 처리 코드에 의해 호출되고 있는지 확인하는 방법은 무엇입니까?
- 22. CPython, IronPython, 자이 썬 스크립트는 서로 호환 가능합니까?
- 23. jsr168 및/또는 jsr286에서 작동하는 cpython 라이브러리가 있습니까?
- 24. Pyyy가 CPython, Jython 및 IronPython을 통해 제공해야하는 것은 무엇입니까?
- 25. 코드가 cPython 또는 Jython에서 실행되고 있는지 감지 할 수 있습니까?
- 26. didFinishLaunchingWithOptions 대리자가 사용되기 전에 iOS - viewDidLoad가 호출되고 있습니까?
- 27. Popen에 의해 호출되고 stdin에 쓰여질 때 Python 이상한 동작
- 28. CPython 인터프리터가 프로그래밍 방식으로 인터랙티브 모드로 들어가도록 할 수 있습니까?
- 29. JSF에서 "saveState()"메소드가 두 번 호출되고 있습니다. 왜?
- 30. CPython - 내부적으로 스택 및 힙에 저장되는 항목은 무엇입니까?