Python 할당 기능 및 메모리 주소

4622 단어 python
안녕 다들 무슨일이야?

Python 에서 변수에 함수를 할당하는 방법을 보여드리겠습니다. 변수에 함수를 할당하는 방법을 모두 보여드리겠습니다.

이제 hello라는 이름의 function이 있고 hello라는 단어를 인쇄하기만 하면 됩니다.

이 함수를 호출하려면 함수 이름 뒤에 괄호를 입력하면 됩니다.

hello()


그러면 "hello"라는 단어가 인쇄됩니다. 함수 이름 뒤에 오는 괄호 세트는 함수를 호출할 부분입니다. 나중에 해당 괄호 세트를 제거하면 실제로 해당 함수를 호출하지 않습니다.

간단하게 하기 위해 이 예에서 main function을 생략합니다.

함수 메모리 주소?



이제 파이썬을 사용하면 파이썬은 거의 모든 것을 함수를 포함한 객체로 취급합니다. 그래서 여러분에게 보여주고 싶은 것이 있습니다. 내 함수의 이름을 인쇄하려면 안녕하세요, 이 함수의 메모리 주소가 표시될 것입니다.

>>> def hello():
...     print("hello")
... 
>>> hello
<function hello at 0x7f21d6d4e3a0>
>>> 


이것은 내 컴퓨터의 메모리 내에서 이 함수가 위치한 메모리 주소이며 123 가짜 거리와 같은 거리 주소처럼 생각하는 16진수입니다. 이것은 내 컴퓨터 메모리 내에서 이 기능이 있는 주소이며 이 프로그램을 실행할 때마다 여기에서 볼 수 있듯이 이 숫자가 변경될 수 있습니다.



이제 우리가 할 수 있는 한 가지는 이 주소를 변수에 할당할 수 있습니다. hi가 hello와 같다고 가정하고 이후에 해당 괄호 세트를 추가하지 않는지 확인하십시오. 그러면 hello 함수를 호출하고 결과를 hi로 반환하게 되기 때문입니다.

>>> hi = hello
>>> hi
<function hello at 0x7f21d6d4e3a0>
>>> 


따라서 hi는 괄호가 없는 hello와 같고 hi를 잘 인쇄하려면 hello와 hi의 주소가 동일한 메모리 주소에 있을 것입니다. 이 두 숫자는 이제 동일합니다.

위의 함수는 single return을 사용하고 있지만 이것은 multiple return에서도 작동합니다. 따라서 반환되는 것은 두 개의 메모리 주소입니다.

>>> def hello():
...    print('hello')
... 
>>> def time():
...    print('14:00')
... 
>>> hi,t = hello, time
>>> hi
<function hello at 0x7f3db682f3a0>
>>> t
<function time at 0x7f3db682f430>
>>> 


호출 기능



안녕의 메모리 주소를 hi에 할당한 후 내가 hi 함수를 호출하면 어떤 일이 일어날 것이라고 상상하십니까? 결국 우리가 할 일은 hello 함수를 호출하는 것입니다.

>>> hi()
hello
>>> 


존재하지 않는 hi 함수를 호출하고 싶다고 나열하고 있지만 이 hello 함수에 두 개의 이름이 있는 것처럼 hello를 사용하거나 hi를 사용할 수 있습니다. 할당하기 때문입니다.
이 hi 변수에 대한 hello의 메모리 주소이므로 hi를 함수로 처리할 수 있습니다.

이 함수에 두 개의 이름이 있는 별칭과 같습니다.

좋은 웹페이지 즐겨찾기