파이썬에서 "global"문을 사용합니까? [python]


Answers

필자는 Python을 전문적으로 사용한 3 년 이상, Python 애호가로서의 5 년 동안의 프로덕션 코드에서이 문장을 적법하게 사용하지 못했습니다. 변경해야하는 모든 상태는 클래스에 있거나 "전역"상태가있는 경우 글로벌 캐시와 같은 일부 공유 구조에 있습니다.

Question

파이썬 글로벌 서술문 ( "파이썬 범위" )에 대한 질문을 읽었을 때 파이썬 초보자 였을 때 (나는 글로벌 하게 많이 사용함) 어떻게 요즘 몇 년 후에이 문장을 얼마나 자주 사용했는지 기억하고있었습니다. 그것을 전혀 사용하지 마십시오. 나는 심지어 그것을 "비 - 파이썬 성"이라고 생각한다.

이 문장을 파이썬에서 사용합니까? 시간이 지남에 따라 귀하의 사용이 변경 되었습니까?




제 생각에는 파이썬 코드에서 전역 변수를 사용할 필요가 있다고 느끼면 바로 잠시 멈추고 코드 리팩토링 작업을하는 것이 좋습니다.
global 에 코드를 삽입하고 리팩토링 프로세스를 지연하면 데드 라인이 가까워지면 유망한 것처럼 들릴지 모르겠지만, 필자는 코드로 작업을 중단 한 것처럼 꼭 돌아가고 싶지 않으면 다시 돌아 가지 않을 것입니다. 어떤 이상한 이유, 디버깅이 필요하다. global 변수 중 일부를 만났을 뿐이다.

그래서, 솔직히 말해서, 허용 되더라도, 나는 그것을 사용하는 것을 피할 수있는만큼 많이 할 것입니다. 코드가 단순한 클래스를 의미한다고해도 말입니다.




명령 줄 스크립트와 'optparse'를 사용하여 전역 옵션에 사용합니다.

내 main ()은 인수를 구문 분석하고 스크립트의 작업을 수행하는 모든 함수에 전달하지만 제공된 옵션을 전역 'opts'사전에 씁니다.

쉘 스크립트 옵션은 종종 '잎'동작을 조정하며, 모든 인수 목록을 통해 'opts'사전을 스레드하는 것은 불편하고 불필요합니다.




드물게. 나는 그것을 전혀 사용하지 않았다.




나는 일회성 작업을 자동화하기 위해 빠르고 일회용 스크립트에이 스크립트를 사용했다. 그보다 더 큰 것, 또는 재사용해야하는 것, 그리고 나는 더 우아한 방법을 찾을 것입니다.




내가 그것을 피할 수 있다면, 안돼. 그리고 내 지식으로는 항상 그것을 피할 수있는 방법이 있습니다. 하지만 전적으로 쓸모가 없다는 것은 아닙니다.