파이썬으로 PS 입문했는데 어떤 게 좋은 방법인지 모르겠어서 질문합니다.
1. 함수를 전혀 선언하지 않고 전역에서 모든 로직을 처리
2. 메인 함수만 선언하고 메인 함수 내부에서 모든 로직을 처리
3. 메인 함수를 사용하지 않고 주요 로직을 함수로 모듈화해서 처리
4. 메인 함수도 사용하고 주요 로직을 별도 함수로 모듈화해서 처리
어떤 게 좋은 방법인지 본인 취향이라고 하는데, 아직 본인 취향이 정립될 정도로 언어를 오래 쓰지 않아서.. 보편적으로 쓰이는 방식과 왜 그게 보편적인지 한번 알아보고 싶어서 질문합니다!
(+추후에 C++로도 PS를 해보고 싶은데, 전역변수 사용에 대해선 어떤 게 보편적인지 궁금합니다. 배열을 전역에 놓는지, 메인함수 내에 놓는지...)
하다보면 앎
속도는 1이 제일 빠른데 그거까지 생각해서 시간을 줄여야하는 상태면 코드를 잘못 짠거고 아래로 갈 수록 가독성이 확 좋아질거야 함 해봐
그러면 리스트나 딕셔너리 같은 컨테이너도 전부 파라미터로 넘겨주는 게 낫나요? 아니면 이런 건 전역에서 선언해서 그냥 쓰는 게 낫나요? C++ 코드를 보면 전역에서 선언해서 쓰시는 분이 많은 것 같았어요.
2 or 4
전역변수 접근할때는 LOAD_GLOBAL 쓰는데 지역변수에 쓰는 LOAD_FAST보다 느림
ㄴ 아하 메인함수는 무조건 써야겠네요... 감사합니다!
사실 파이썬으로 저딴거 다 의미없는데 저걸로 초과되면 그것도 신기하다 - dc App
걍 3으로 가독성이나 올려 - dc App
닥3
코드마다도 다르고 PyPy냐 Python3이냐에 따라 다름
https://www.pypy.org/performance.html
1은
Python 3이면 2,3,4 보다 느릴 수 있는데, PyPy3면 크게 상관없음.
2<3<4는 모듈화해야겠다고 느끼는 임계치라고 생각하는데, 그냥 너가 봤을때 편한대로/직관적인대로 하면됨.
다만 파이썬은 함수 프레임이 조금 비싸니, 함수가 막 몇 만번씩 실행될 수도 있다면, 함수 호출때문에 조금 느려질 수 있다는것만 알면 될듯.