Pythonic이란 무엇인가에 대한 또 다른 질문입니다! 이 경우 응용 프로그램 도메인은 네트워크 알고리즘입니다 (예 : 노드, 가장자리, Dijkstra, 그런 종류의 ...). 이전에 강력하게 형식화 된 언어로 코딩 한 것입니다. 은입니다.네트워크 데이터 구조에서 메서드를 처리하는 파이썬 방법
한편 파이썬에서는 클래스가 있습니다. Net
; 이 클래스의 단일 인스턴스는 네트워크를 나타냅니다. 클래스 Edge
네트워크의 각 가장자리에 대해 인스턴스화 된 있습니다. 각 Edge
인스턴스에는 다른 것들 중에서 고유 한 id
이 있습니다.
간혹 관련 Edge
인스턴스를 참조하여 가장자리를 제거하고 싶습니다. 다른 번에 그 id
을 사용하여 Edge를 제거하고 싶습니다. 솔직히 말해서, 나는 어떤 변수가 Edges
이고 어느 것이 ids
인지 추적하지 못하기 시작했습니다. 내가이 일 - P를위한 C++를 선호하는 생각
그래서 나는 두 가지 솔루션을 제안 :
시작 헝가리어 표기법 시스템을 사용하는 - 그래서 나는 그들이 실제 에지 개체 또는 단지인지 알고 더 나은 내 변수의 이름을 나는 원하는 이드의 이드. 강력한 입력을 구현하십시오 - 이 아닌 것을 명시 적으로 거부하려면
remove_edge
(Net
의 메소드)을 지정하십시오. 래퍼 함수remove_edge_id
을 작성하여id
에서 관련Edge
을 찾은 다음remove_edge
을 호출하십시오. 이 함수는 마찬가지로id
이 아닌 것을 거부합니다.오리 타이핑을 사용하십시오.
remove_edge
이 인수가id
또는Edge
인지 확인하고 올바른 작업을 수행하십시오.
오늘은 언제나?
당신이 모두 객체 참조를 사용하여 자신을 찾는 이유에 다시 스테핑 물어 가치가있을 수도 있습니다 ID를 사용하여 가장자리를 추적합니다. 그것은 C++ 습관에서 잡아 당겼습니까? 항상 다른 것을 사용하도록 다른 물건을 수정할 수 있습니까? –
당신이 말하는 것은 '네트워크'가 아니라 '그래프'라고합니다. –
공정한 포인트. 내 응용 프로그램 도메인의 용어로 눈이 멀었습니다. –