상세 컨텐츠

본문 제목

파이썬 Docstring, scope 개념정리

IT 공부/데이터분석

by 듀_77 2020. 7. 13. 21:22

본문

반응형

#1-38

파이썬 docstring과 scope 개념을 배웠다.

docstring은 설명을 다는데 유용하고,

scope는 지역변수와 전역변수를 쓸 수 있다.

#1-38

파이썬 Docstring 기능은 shift + tab 으로 볼 수 있다.

원래 기본적으로 docstring이 따로 없는 녀석들이 있다.

 

위에 처럼 no docstring으로 뜨는 것들.

(왜냐면 임의로 만든 변수니까)

여기에 메모를 남기고 싶으면 괄호 안에

값을 지정해주고

 

" ooo " 를 프린트해주면 된다.

 

참고로 echo나 msg는 아무 말이나 적어넣어도 실행된다.

 

def echo(msg):

"ㅇㅇㅇ"

print(msg)

 

위 말은 def echo (에코 함수)(msg)를 넣겠다는 뜻과 동일.

 

저런 식으로 길게 설명을 달 수 있다.

1. 어떤 파라미터값을 어떤 데이터타입으로 받을 건지

2. 어떤 결과를 리턴해줄 건지

3. 이 함수가 어떤 기능을 동작하는지

 

설명을 싣는 용도로, Docstring 활용 가능!

 

요약: 파라미터가 어떤 데이터타입인지/ 

어떤 데이터를 리턴해줄건지 등

 

param: msg : str

return: str

→파라미터: 메시지(msg), string타입

→ string 타입으로 return 한다.

 

"""

"""

(이렇게 써주는 걸 멀티라인 문자열이라고 한다.)

Docstring을 확인하는 5가지 방법.

1. shift+ tab으로 확인

2. shift+enter로 코드 실행시 docstring 등장

 

3.ehco??의 경우

shift +enter로 코드 실행시

소스코드 내에서 docstring을 확인 가능하다.

 

나머지 두개도 코드 실행하면 밑에 저렇게 뜬다.

 

*

나중되면 코드가 길어지는데, (코드보다 파이썬 docstring이 더 긴 경우도 있음)

그때 docstring을 참고하면 남의 거 코딩이해하기가 쉬워진다.

 

#1-39

함수에서 선언되는 변수와

함수 밖에서 선언되는 변수의 scope(범위)는 다르다.

 

크게 함수 안에서 선언되는 파이썬 scope는 지역변수,

함수 밖에서 선언되는 전역변수가 있다.

 

*전역변수는 함수 안과 밖에서 모두 사용가능.

1번: local 영역에 gv값이 (x)

global에서 10 가져와서 끌어쓰는 식이다.

 

2번: local 영역에 (함수 안) gv 값 100이 있음.

그대로 100출력

 

3번: global gv라는 변수가

gv의 xxx값을 참조한다.

 

→ global gv가 100이면, 

gv도 100을 참조해서 같이 바뀐다.

 

전역변수에 있는 변수를 지역변수에서 참조해서쓰고 싶다면 global gv쓰면 다 바뀜.

 

그림으로 그려본 것.

파이썬 scope의 글로벌변수와 지역변수 원리를

개념정리한 것.

 

글로벌영역(함수 밖) 과 로컬영역(함수 안에 있는 것)

을 구분해서 보면

이해하기가 쉽다.

 

*

바깥에 있는 gv=10과

함수 안의 gv=100은 다른 것이다.

가져다 쓰려면 global gv 변수를 만들어서 써줘야한다.

(공통적으로 쓰려면 global gv 변수

만들어서 전역변수로 사용해야함.)

 

**

단일로 있는 전역변수는 안 쓸수록 유리하다.

전역변수는 무조건 메모리값을 가진다.

 

하지만 함수 안에 있는 변수는 함수가 호출되어야지,

로컬영역에 변수가 선언된다.

(함수를 호출하지 않으면, 메모리를 안 쓴다)

 

→ 그래서 로컬영역 안에서 global gv변수로 선언하는게

더 효율적이고 좋은 코드다.

(평상시에는 메모리 안 잡아먹으니까)

반응형

관련글 더보기

댓글 영역