[기초] 지역변수, Global문, DocString

기초/Python 2018. 8. 8. 22:20

[지역변수]

: 함수 밖에 있는 같은 이름의 변수들과 함수 안에 있는 변수들과는 서로 연관이 없다. 함수 안에 있는 변수들을 함수의 지역(local) 변수라고 하며, 범위를 스코프(scope)라고 한다.

 

1

2

3

4

5

6

7

8

9

10

지역변수

= 50

 

def func(x):

    print('x is ', x)

    x = 2

    print('Chagned local x to', x)

 

func(x)

print('x is still', x)

 

[결과화면]

x is  50

Chagned local x to 2

x is still 50

 

 

[global]

함수나 클래스 내부에서 상위 블록에서 선언된 변수의 값을 변경하고 싶을 경우, 파이썬에게 변수를 앞으로 지역 변수가 아닌 전역(global) 변수로 사용할 것임을 알려 주어야 한다.

 

1

2

3

4

5

6

7

8

9

10

11

12

13

# global(전역변수)

= 50

 

def func():

    global x

 

    print('x is', x) 이때는 위에 선언한 x 값을 읽어서 50 출력이 된다.

    x = 2

    print('Changed global x to', x)

 

func()

print('Value of x is', x) 이건 func() 함수 안에서 x 값이 변경이 되었으므로

                        변경되어서 출력이 된다.

 

  • 결과화면


 

 

[DocString]

: 설명(Documentation) 문자열(String) 이라고 불리우는 짧게 줄여서 DocString 불리우는 편리한 기능을 가지고 있다. DocString 여러분이 만든 프로그램을 알아보기 쉽게 해주고, 후에 프로그램에 대한 설명서를 작성할 유용하게 사용될 있는 중요한 도구다.

 

  • 동작원리 함수에 포함된 논리적 명령행에 적어둔 문자열은 함수의 DocString이라고 불리우는 것이다. DocString 모듈과 클래스에도 똑같이 적용된다.

 

1

2

3

4

5

6

7

8

9

10

11

12

13

def print_max(x, y):

    '''Prints the maximum of two numbers.

    The two values must be integers.'''

    x = int(x)

    y = int(y)

 

    if x > y:

        print(x, 'is maximum')

    else:

        print(y, 'is maximum')

 

print(print_max.__doc__)

 

  • 결과화면


 

 


'기초 > Python' 카테고리의 다른 글

[파이썬 기초] 입력과 출력  (0) 2018.08.14
[파이썬 기초] 객체지향, 클래스  (0) 2018.08.10
[기초] 함수  (0) 2018.08.07
[Python 기초] for문, break문, continue문  (0) 2018.08.06
[파이썬 기초] 흐름제어 IF문  (0) 2018.08.05

설정

트랙백

댓글