nathan_H

python - namespace 본문

Programming Laguage/Python

python - namespace

nathan_H 2019. 4. 26. 18:39

python에 있어 namespace는

크게 전역변수 지역변수로 볼 수 있다.

 

지역변수는 함수 안에서 동작하고 할당되는 변수이고

전역 변수는 함수 내부가 아닌 전체에 할당되고

동작하는 함수이다.

 

그리고 함수 내부에 있는 지역 변수와

전역 변수의 변수의 이름이 같더라도

서로 다르게 동작한다.

 

또한 함수 내부에서 전역변수를 사용하고 싶다면

global variable name 을 호출하면

사용 할 수 있다.

dog_name = 'Shiva'


def change_dog():
    '''this dog_name is change_dog func local variable'''
    dog_name = "poodle"
    return dog_name


def global_dog():
    '''call global variable dog_name'''
    global dog_name
    # dog_name = "poodle"
    return dog_name


def global_change_dog():
    '''call global variable dog_name and change variable value'''
    global dog_name
    dog_name = "poodle"
    return dog_name


if __name__ == "__main__":
    print(dog_name is change_dog())  # global, local
    print(id(dog_name), id(change_dog()))  # global, local
    print(dog_name is global_dog())  # global, global
    print(id(dog_name), id(global_dog()))  # global, global
    print(dog_name is global_change_dog())  # global, global change value

'Programming Laguage > Python' 카테고리의 다른 글

python - class method type.  (0) 2019.04.30
python - function 과 method  (0) 2019.04.30
Decorator  (0) 2019.04.26
Closure.  (0) 2019.04.26
python - 진수 변환, ascll code 변환  (0) 2019.04.18
Comments