> 백엔드 개발 > 파이썬 튜토리얼 > Python 변수 및 할당 그림

Python 변수 및 할당 그림

不言
풀어 주다: 2018-04-23 16:05:57
원래의
1660명이 탐색했습니다.

이 글은 주로 Python 변수와 할당에 대한 다이어그램을 소개합니다. 이제는 공유하고 참고용으로 제공합니다. 함께 살펴보세요

파이썬은 C언어와는 많이 다른 독특한 언어입니다. 파이썬을 처음 접하는 많은 초보자들이 변수와 할당을 이해하지 못한다고 합니다. 참고하시면 됩니다

Python은 C 언어와는 매우 다른 독특한 언어입니다. Python을 처음 접하는 많은 사람들은 변수와 할당을 이해하지 못한다고 말합니다. C를 공부한 사람이라면 변수에 값을 할당할 때 알 것입니다. , 먼저 데이터 유형을 지정해야 하며 값을 저장하는 데 사용되는 메모리 영역도 열어야 합니다. 예:


int a = 1;
로그인 후 복사


Python 변수 및 할당 그림

a는 다음과 같이 메모리 공간의 작은 영역입니다. 큰 방에 작은 상자를 넣는 것이 과제입니다. 정수 1 로드를 상자에 넣는 것입니다.

이제 변수 a를 다시 할당하세요


a = 2;
로그인 후 복사


Python 변수 및 할당 그림2

상자는 여전히 동일한 상자입니다. 즉, 메모리 주소는 변경되지 않았지만 메모리의 값이 변경되어 2가 됩니다.

다시 보세요:


int b = a;
로그인 후 복사


Python 변수 및 할당 그림3

변수 a를 다른 변수 b에 할당하는 것은 해당 값을 복사하여 새로 열린 메모리 영역인 변수 b에 전달하는 것과 같습니다.

In 파이썬에서 "변수"의 엄밀한 이름은 "이름"인데, 이는 레이블로도 이해될 수 있습니다. 우리의 이름과 마찬가지로 이름도 사람에게 붙어 있는 레이블입니다.


>>> 10-a
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name &#39;a&#39; is not defined
로그인 후 복사


예를 들어 위의 오류 메시지는 'a'라는 이름이 정의되어 있지 않지만 변수라고 부르지 않는다는 것입니다.

Python에서 변수에 값을 할당하는 것은 사람에게 이름을 지정하는 것과 마찬가지로 개체에 레이블을 지정하는 것과 같습니다. 변수 자체에는 유형 정보가 없으며 실제 정보는 개체에 있습니다.

예:


a = 1
로그인 후 복사


Python 변수 및 할당 그림

Python은 먼저 내부적으로 메모리 공간을 할당하여 정수 객체 1을 생성한 다음 이 1에 이름 a를 붙입니다.

그런 다음


a=2
로그인 후 복사


을 실행하면 Python은 다른 메모리 영역에 정수 개체 2를 생성한 다음 1에서 레이블 a를 떼어내고 2에 붙여 넣습니다. 이때 더 이상 사용할 수 없습니다. a to 값 1을 얻었습니다.

Python 변수 및 할당 그림

이제 a라는 이름을 다른 이름인 b


b = a
로그인 후 복사


Python 변수 및 할당 그림

이것은 방금 2에 새 레이블 b를 붙이는 것과 같습니다. 이는 C 언어와 관련이 있습니다. 완전히 다릅니다. b를 정의할 때 메모리 공간을 할당할 필요가 없습니다. 이렇게 하면 a 또는 b를 통해 2에 액세스할 수 있습니다. 아기의 이름을 지정할 때와 마찬가지로 닉네임도 있습니다. , 하지만 모두 같은 사람을 지칭합니다.

우리는 일반적으로 Python에서 "변수"라는 이름을 사용하지만(프로그래밍 언어에서 흔히 사용되는 이름이기 때문에) Python의 변수는 다른 언어와 다르다는 점을 이해해야 합니다. 변수는 단지 이름일 뿐입니다.

파이썬의 변수와 할당을 이해한 후 아래와 같이 함수의 매개변수 전달을 살펴보겠습니다.


>>> def fun_a(a):
...   a = a+4
...
>>> g = 0
>>> fun_a(g)
>>> g
0
로그인 후 복사


전역 변수 g가 fun_a 함수에 전달되면 다음과 같습니다. 함수의 매개변수 a는 0에 레이블로 부착된 다음 a가 다시 할당됩니다(a=a+4). 이는 0에서 레이블 a를 떼어내고 4에 부착한 다음 g가 됩니다. 여전히 라벨은 0입니다.

Python 변수 및 할당 그림

이 함수를 다시 살펴보세요. 전달된 것은 목록 개체입니다.


>>> def fun_b(names):
...   names[0] = [&#39;x&#39;, &#39;y&#39;]
...
>>> n_list = [&#39;a&#39;,&#39;b&#39;,&#39;c&#39;]
>>> fun_b(n_list)
>>>
>>> n_list
[[&#39;x&#39;,&#39;y&#39;], &#39;b&#39;, &#39;c&#39;]
로그인 후 복사


이전 단계와 동일하며 이름과 n_list는 모두 ['a','b'입니다. ,'c' ], 목록의 0번째 요소만 재할당되었지만 이름과 n_list는 여전히 목록 개체에 연결되어 있습니다. n_list의 값이 업데이트되었지만 개체는 여전히 원래 개체입니다. 이는 Zhang San과 Xiao Zhang이 모두 같은 사람인 것과 같습니다. 이제 Xiao Zhang의 옷을 갈아입으면 실제로는 Zhang San의 옷도 바뀌는 것입니다. 그러나 그 사람의 상황은 달라졌습니다.

Python 변수 및 할당 그림

관련 권장 사항:

Python 변수 할당에 대한 자세한 단계별 설명

Python 변수 및 할당에 대한 자세한 그래픽 설명


위 내용은 Python 변수 및 할당 그림의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿