>  기사  >  백엔드 개발  >  Python의 id() 함수 소개 및 목록을 읽는 방법(코드 예)

Python의 id() 함수 소개 및 목록을 읽는 방법(코드 예)

不言
不言앞으로
2019-02-25 10:50:473140검색

이 글은 파이썬의 id() 함수와 목록을 읽는 방법(코드 예제)을 소개합니다. 필요한 참고 자료가 있으면 도움이 될 것입니다. 돕다.

id(object)

객체의 "ID"를 반환합니다. 이는 수명 동안 이 객체에 대해 고유하고 상수가 보장되는 정수(또는 긴 정수)입니다. 동일한 id() 값을 가질 수 있습니다.
CPython 구현 세부 사항: 메모리에 있는 객체의 주소입니다.

이 함수에 관해 말하면 먼저 Python의 변수 저장 메커니즘을 이해해야 합니다.
Variable: 동적 변수입니다. 선언 유형을 발전시킬 필요가 없습니다.

a = 'ABC'라고 쓰면 Python 인터프리터는 두 가지 작업을 수행합니다.

  1. 메모리에 'ABC' 문자열을 생성합니다.

  2. 메모리에 이름을 생성하고 이를 ''을 가리킵니다. 알파벳'.

id(a)는

프로그램 예제

def addElement(_list):
    print(6,id(_list))
    _list.append(0)
    print(7,id(_list))
    return _list

if __name__=="__main__":
    list1=[1,2,3]
    print(1,id(list1))
    list2 = addElement(list1)
    print(2,list1)
    print(3,id(list1))
    print(4,list2)
    print(5,id(list2))

의 메모리 주소를 읽습니다. 실행 결과:

(1, 48757192L)
(6, 48757192L)
(7, 48757192L)
(2, [1, 2, 3, 0])
(3, 48757192L)
(4, [1, 2, 3, 0])
(5, 48757192L)

두 점:

  1. return 문이 반환된 후 list1은 반환 값이 됩니다. 원래 값

  2. 정의된 이후 list1 변수의 본질은 메모리 상자입니다. 변수 자체는 항상 함수에 전달되므로 결국 주소는 변경되지 않습니다. 값 끝에 새로운 값이 추가되고 할당 방법 a=b를 사용한 후 ab의 메모리 주소가 일치합니다. 따라서 list1, list2, _list의 메모리 주소는 처음부터 끝까지 변하지 않았습니다

위 내용은 Python의 id() 함수 소개 및 목록을 읽는 방법(코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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