• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    미해결

크롤링과 데이터베이스 - 크롤링 코드 작성 시작[4:13]

21.07.07 18:11 작성 조회수 92

0

프로그래밍언어가 위에서 아래로 실행하는 것으로 알고 있습니다. 

def get_category 함수의 선언과 정의부가

for category in categories:

       get_category(....... + category['href'], category.get_text()) 보다 아래에 있어서 vs code 에서는 정의가 되지 않았다고 하여 오류가 납니다.

이럴 경우 def get_category 함수의 선언과 정의부의 위치를 앞으로 당겨주면 사용 가능합니다만 

문의)

코드를 작성도중에 함수를 추가해서 사용해야 하는 경우

위치를 앞으로 당겨서 작성하다보면 코드 가독성이 떨어질거 같은데 혹시 에디터가 함수의 선언과 정의가 아래 있어도 알아차릴 수 있는 방법이 없나요?

구글검색했을 경우 C, C++ 에는 있는 것 같은데 python은 잘모르겠네요. ㅠ 

답변 1

답변을 작성해보세요.

0

안녕하세요.

함수와 변수는 호출전에 상단에서 선언을 해야 하는데요. 이 부분은 가장 일반적인 룰이예요.

그래서 저도 C 와 C++ 을 예전에는 많이 썼었는데, C 와 C++ 에서 어떻게 하단부에 선언한 함수가, 상단부 코드에서 호출되게 하는지가 오히려 의문이네요. 파이썬도 마찬가지입니다. 그래서, 선언 전에, 쓸 수 있도록 하는 방법은 알고 있지 않습니다.

사실, 이런 당연한 룰이 언어 레벨에서 완전히 깨진 프로그래밍 언어가 Javascript 이고요. 그래서, 일부 개발자분들은 Javascript 의 이런 특이한 케이스를 오히려 안타까워하거든요. 왜냐하면, 이렇게 특이한 케이스를 지원하면서, 비정상적인 동작이 보이고, 그러면 해당 언어로 작성한 코드의 신뢰도가 좀 떨어집니다. 그래서, 언어가 다소 조악하게 만들어진 것 같다라는 느낌이 들거든요.

가장 일반적인 룰이라고 생각해주시면 좋을 것 같고, 정 안되면, 별도 파일로 만들고, 해당 파일을 상단에서 import 해주는 방식으로 쓰는 경우도 많습니다. 

감사합니다.

ivanselah님의 프로필

ivanselah

질문자

2021.07.08

답변 정말 감사합니다 ^^ 도움이 많이 되었습니다.

파이썬 크롤링 강의에서 잘 가르쳐주셔서 문제가 있을 경우 생각해보고 시도해볼 수 있어서

좋았습니다!