markdown 네임스페이스와스코프#python #tutorial

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 네임스페이스와스코프#python #tutorial相关的知识,希望对你有一定的参考价值。

# 네임스페이스
함수에서 전역 변수의 값을 얻어서 바꾸려 하면 에러가 발생한다.
```python
animal = 'fruitbat'

def change_and_print_global():
    print('inside change_and_print_global:', animal)
    animal = 'wombat'
    print('after the change:', animal)

change_and_print_global()
```
```
Traceback (most recent call last):
  File "d:\_Nest\code\introducing_python\ch01\ex_1_2.py", line 8, in <module>
    change_and_print_global()
  File "d:\_Nest\code\introducing_python\ch01\ex_1_2.py", line 4, in change_and_print_global
    print('inside change_and_print_global:', animal)
UnboundLocalError: local variable 'animal' referenced before assignment
```

다음은 함수 내의 지역 변수이다.
```python
def change_local():
    animal = 'wombat2'
    print('inside change_local:', animal, id(animal))

change_local()
```

함수 내에서 지역 변수가 아닌 전역 변수를 접근하기 위해 global 키워드를 사용해서 전역 변수의 접근을 명시해야 한다.
함수 안에 global 키워드를 사용하지 않으면 로컬 네임스페이스를 사용한다.
```
animal = 'fruitbat'

def change_and_print_global():
    global animal
    animal = 'wombat'
    print('inside change_and_print_global:', animal)

print(animal)
change_and_print_global()
print(animal)
```
```
fruitbat
inside change_and_print_global: wombat
wombat
```

## 네임스페이스 함수
- locals(): 로컬 네임스페이스의 내용이 담긴 딕셔너리를 반환한다.
- globals(): 글로벌 네임스페이스의 내용이 담긴 딕셔너리를 반환한다.

```python
animal = 'fruitbat'

def change_local():
    animal = 'wombat'   # 지역변수
    print('locals:', locals())

print(animal)
change_local()
print('globals', globals()) # 보여주기 위한 작은 출력 포멧
print(animal)
```

## _ 와 __
__ 로 시작하는 변수는 시스템 예약으로 사용하면 안된다.

```python
def amazing():
    '''this is the amazing function.
    Want to see it again?'''
    print('This function is named:', amazing.__name__)
    print('And its docstring is:', amazing.__doc__)
amazing()
```

以上是关于markdown 네임스페이스와스코프#python #tutorial的主要内容,如果未能解决你的问题,请参考以下文章

html 파워팩,이지팩에서모바일주문내역페이지스크립트

html panda스킨의상품상세페이지에리뷰수작업

javascript sp스킨,PC상품상세페이지에리뷰수작업

html PC,모바일같은파일쓰는반응형사이트init스크립트와건건문

markdown 클래스와객체,모듈의사용시기#python

swift 패스트캠퍼스iOS프로젝트캠프 - 교재에없는Swift예시