전역 변수를 수정하는 함수 범위에서 두 변수 할당의 차이점

user10870615

하는 것의 차이점은 무엇입니까?

m={}
i='a'

def change():
    m['a'] = i
    i = 'b'

속성 오류가 발생합니다.

>>> change()

UnboundLocalError : 할당 전에 참조 된 지역 변수 'i'

과:

m={}
i='a'

def change():
    m['a'] = i

오류없이 평가됩니다.

>>> change()
>>> m
{'a': 'a'}

(마지막으로이 질문에 대한 질문입니다. 질문에 "노란색 배경"을 사용하는 것이 적절한시기는 언제입니까?)

MyNameIsCaleb

이것은 문서 에서 자세히 답변됩니다 .

이는 범위의 변수에 할당 할 때 해당 변수가 해당 범위에 대해 로컬이되고 외부 범위에서 비슷한 이름의 변수를 숨기기 때문입니다. foo의 마지막 문은 x에 새 값을 할당하므로 컴파일러는이를 지역 변수로 인식합니다. 결과적으로 이전 print (x)가 초기화되지 않은 지역 변수를 인쇄하려고 시도하고 오류가 발생합니다.

노란색 배경은 문체이지만 일반적으로 어딘가의 인용문에 사용되지만 본문이나 텍스트 또는 코드에서 해당 텍스트를 분리하려는 어떤 이유로도 사용할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C에서 전역 변수와 동적 할당 변수의 차이점은 무엇입니까?

분류에서Dev

파이썬에서 전역 변수를 로컬 범위에서 전역으로 정의하지 않고 사용

분류에서Dev

반환 값에 대한 전역 변수 할당과 지역 변수 할당의 의미 론적 차이

분류에서Dev

전역 변수는 함수 범위 내에서 정의되지 않습니다.

분류에서Dev

로컬 범위에서 전역 범위의 변수 정의

분류에서Dev

파이썬 함수에서 여러 전역 변수를 수정하는 방법

분류에서Dev

함수 내에서 두 개의 전역 JS 변수 교체

분류에서Dev

server / 및 private /에서 전역 변수를 정의하는 차이점은 무엇입니까?

분류에서Dev

두 개의 함수에서만 볼 수있는 지역 정적 변수를 정의 할 수 있습니까?

분류에서Dev

상수 변수와 전역 변수의 차이점

분류에서Dev

상수 변수와 전역 변수의 차이점

분류에서Dev

IF 조건 : 두 번째 조건에서 첫 번째 할당 된 변수를 함수의 매개 변수로 전달

분류에서Dev

JavaScript의 함수 내부에서 두 개의 다른 전역 변수를 변경하는 방법

분류에서Dev

함수 매개 변수에 전역 변수 할당

분류에서Dev

OCaml에서 함수 내에 전역 변수를 다시 할당하는 방법

분류에서Dev

OCaml에서 함수 내에 전역 변수를 다시 할당하는 방법

분류에서Dev

두 함수에서 사용하는 전역 변수 제거

분류에서Dev

줄리아 범위 지정 :이 함수가 전역 변수를 수정하는 이유는 무엇입니까?

분류에서Dev

두 함수 사이의 전역 변수를 어떻게 관리합니까?

분류에서Dev

C의 포인터 변수에 변수 주소를 역 참조하는 것과 할당하는 것의 차이점은 무엇입니까?

분류에서Dev

전역 변수를 변경하지 않고 전역 변수의 값에 할당 된 지역 변수를 어떻게 변경할 수 있습니까?

분류에서Dev

파이썬에서 문자열 안에 전역 변수와 지역 변수를 모두 삽입하는 방법

분류에서Dev

lua에 이벤트 매개 변수가있는 전역 함수를 정의하는 방법

분류에서Dev

함수에서 변수 범위 정의

분류에서Dev

동일한 이름의 변수를 갖는 정적 함수에서 전역 정적 변수에 액세스하는 방법

분류에서Dev

전역 범위에서 변수 및 함수의 재귀 적 종속성

분류에서Dev

함수 내에서 전역 변수를 수정할 수 없습니다.

분류에서Dev

전역을 지정한 후에도 함수가 전역 변수를 변경하지 않는 이유

분류에서Dev

함수에 두 개의 전역 변수를 추가하려고 할 때 구문 오류가 발생합니다.

Related 관련 기사

  1. 1

    C에서 전역 변수와 동적 할당 변수의 차이점은 무엇입니까?

  2. 2

    파이썬에서 전역 변수를 로컬 범위에서 전역으로 정의하지 않고 사용

  3. 3

    반환 값에 대한 전역 변수 할당과 지역 변수 할당의 의미 론적 차이

  4. 4

    전역 변수는 함수 범위 내에서 정의되지 않습니다.

  5. 5

    로컬 범위에서 전역 범위의 변수 정의

  6. 6

    파이썬 함수에서 여러 전역 변수를 수정하는 방법

  7. 7

    함수 내에서 두 개의 전역 JS 변수 교체

  8. 8

    server / 및 private /에서 전역 변수를 정의하는 차이점은 무엇입니까?

  9. 9

    두 개의 함수에서만 볼 수있는 지역 정적 변수를 정의 할 수 있습니까?

  10. 10

    상수 변수와 전역 변수의 차이점

  11. 11

    상수 변수와 전역 변수의 차이점

  12. 12

    IF 조건 : 두 번째 조건에서 첫 번째 할당 된 변수를 함수의 매개 변수로 전달

  13. 13

    JavaScript의 함수 내부에서 두 개의 다른 전역 변수를 변경하는 방법

  14. 14

    함수 매개 변수에 전역 변수 할당

  15. 15

    OCaml에서 함수 내에 전역 변수를 다시 할당하는 방법

  16. 16

    OCaml에서 함수 내에 전역 변수를 다시 할당하는 방법

  17. 17

    두 함수에서 사용하는 전역 변수 제거

  18. 18

    줄리아 범위 지정 :이 함수가 전역 변수를 수정하는 이유는 무엇입니까?

  19. 19

    두 함수 사이의 전역 변수를 어떻게 관리합니까?

  20. 20

    C의 포인터 변수에 변수 주소를 역 참조하는 것과 할당하는 것의 차이점은 무엇입니까?

  21. 21

    전역 변수를 변경하지 않고 전역 변수의 값에 할당 된 지역 변수를 어떻게 변경할 수 있습니까?

  22. 22

    파이썬에서 문자열 안에 전역 변수와 지역 변수를 모두 삽입하는 방법

  23. 23

    lua에 이벤트 매개 변수가있는 전역 함수를 정의하는 방법

  24. 24

    함수에서 변수 범위 정의

  25. 25

    동일한 이름의 변수를 갖는 정적 함수에서 전역 정적 변수에 액세스하는 방법

  26. 26

    전역 범위에서 변수 및 함수의 재귀 적 종속성

  27. 27

    함수 내에서 전역 변수를 수정할 수 없습니다.

  28. 28

    전역을 지정한 후에도 함수가 전역 변수를 변경하지 않는 이유

  29. 29

    함수에 두 개의 전역 변수를 추가하려고 할 때 구문 오류가 발생합니다.

뜨겁다태그

보관