형식에 영향을 미치는 참조와 파이썬에서 전역 변수의 변경

다음의 코드 실행 및 결과에서 우선보기 :

a = 1
b = [2,3]
def nums():
    a = 2
    b[0] = 0
    print(a)
    print(b)
print(a)
print(b)
nums()
print(a)
print(b)

결과 :

1
[2, 3]
2
[0, 3]
1
[0, 3]
在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

위의 결과 분석 :

기능 nums ()이 로컬 변수, 변수 직접 변경하기 위해 호출 외부 전역 변수와는 아무 및 전역 변수 목록 B를 다시 정의하지 않는다, 또한 왜 전역 변수는 차이가있을 것인가?

  같은 목록이 사전은 수정과 서면 완전히 다른 형식을 만드는 등의 모호성으로 인한 문제, 데이터의 컨테이너 유형의 형식은, 기괴한, 그리고 숫자로 이어질하지 않습니다 때문에, 트리거, = 링크를 정의하고 문자열 유형의 변수를 수정 사용 그래서 형식에 대한 모호함, 그래서, 인터프리터는 "A = 2"형식의 파이썬 기능을 발견, 알고 않는다 또는 "변수의 정의는이 같음", "글로벌 변수가 2를 수정하는 데 사용된다" 전역 변수는 전체 코드에 다른 알 수없는 영향을 생성, 수정 피하기 위해, 변수를 재정의 - 전역 변수가 두 번째로 나머지 코드, 파이썬 기본값에 작은 영향을 생산 보장하기 위해, 모호성로 이어집니다.

요약하면 :

에센스 : 형식에 의한 모호성

응용 프로그램 :; 참조 불일치를 만들 때 숫자, 문자열, 파이썬 인터프리터의 기본이 새 변수를 만들 단지 원하는 만들려하지 않을 경우, 문제의 형식이 아니라 그 때문에 사전의 경우, 목록은 모호함으로 이어질하지 않습니다 이 글로벌 변수와 같이 모호하지 않고 전역 변수에 단순히 참조,,, B = A + (5), 여기에 사용에 대한 간단한 경우 포맷을 생성하지 않습니다, 또한 글로벌 변수를 추가 할 수있는 글로벌 문 필요성을 수정 모호성 문제가 없으며 글로벌 필요 없습니다.

추천

출처blog.51cto.com/14568144/2454896