>  기사  >  백엔드 개발  >  Python 학습 다이어그램 변수 및 할당

Python 학습 다이어그램 변수 및 할당

little bottle
little bottle앞으로
2019-04-29 11:04:591948검색

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

inta =1;

# 🎜🎜##🎜🎜 #a는 큰 방의 작은 상자처럼 메모리 공간의 작은 영역입니다. 할당은 상자에 정수 1을 로드하는 것입니다.

이제 변수 a의 값을 다시 할당합니다.

a =2;

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

다시 보세요:

intb = a;

변수 a를 할당할 때 another 변수 b를 사용하면 값의 복사본을 복사하여 변수 b에 전달하는 것과 같습니다. b는 새로 열린 메모리 영역입니다.

Python에서는 "변수"의 엄격한 이름을 사용합니다. "이름(이름)"은 꼬리표로도 이해될 수 있습니다. 우리의 이름과 마찬가지로 이름도 사람에게 붙어 있는 꼬리표입니다.

Python 학습 다이어그램 변수 및 할당예를 들어 위 단락에서 보고된 오류는 'a'라는 이름이 정의되어 있지 않지만 변수라고 부르지 않는다는 것입니다.

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

예:

a =1

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

그런 다음 실행

a=2

Python은 다른 메모리 영역에 정수 객체 2를 생성한 다음 1에서 레이블 a를 찢습니다. 내려와서 2를 붙입니다. 이때는 더 이상 a를 통해 1의 값을 얻을 수 없습니다.

이제 이름 a를 다른 이름 b에 할당

b = a

#🎜🎜 ## 🎜🎜#

지금 2에 새 레이블 b를 붙이는 것과 같습니다. 이는 C 언어와 완전히 다르기 때문에 b를 정의할 때 메모리 공간을 할당할 필요가 없습니다. a를 통해 2에 액세스하거나 b를 통해 2에 액세스할 수 있습니다. 마치 아기에게 별명과 큰 이름을 모두 사용하여 이름을 지정할 때 실제로는 같은 사람의 이름을 지정하는 것과 같습니다.

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

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

Global 변수 g는 fun_a 함수에 전달됩니다. 이는 함수의 매개변수 a가 레이블로 0에 첨부된 다음 a가 다시 할당되는 것과 같습니다(a=a+4). 이는 fun_a에서 레이블 a를 떼어내는 것과 같습니다. 0을 4에 붙이면 g는 여전히 0 위의 레이블입니다.

Python 학습 다이어그램 변수 및 할당

이 함수를 다시 보면 전달되는 것은 목록 객체입니다

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

Python 학습 다이어그램 변수 및 할당

관련 튜토리얼:

Python 비디오 튜토리얼

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

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제