다른 파일에서 변수를 가져오시겠습니까?
한 파일에서 다른 파일로 변수를 가져오려면 어떻게 해야 합니까?
예:file1
변수가 있다x1
그리고.x2
전달 방법file2
?
한 변수에서 다른 변수로 모든 변수를 Import하려면 어떻게 해야 합니까?
from file1 import *
file1 내의 모든 개체와 메서드를 Import합니다.
수입품file1
안에서.file2
:
file2의 이름 공간을 플래딩하지 않고 file1에서 모든 변수를 가져오려면 다음을 사용합니다.
import file1
#now use file1.x1, file2.x2, ... to access those variables
모든 변수를 file1에서 file2의 네임스페이스로 Import하려면(권장되지 않음)
from file1 import *
#now use x1, x2..
문서에서:
사용이 유효한 동안
from module import *
모듈 레벨에서는 보통 좋지 않은 생각입니다.우선, 이것은 Python이 가지고 있지 않은 중요한 속성을 잃게 됩니다.- 마음에 드는 에디터의 단순한 「검색」기능에 의해서 각 톱 레벨의 이름이 정의되는 장소를 알 수 있습니다.또한 일부 모듈이 추가 기능 또는 클래스를 증가시키는 경우 미래에 문제가 발생할 수 있습니다.
x1 및 x2를 명시적으로 Import하는 것이 가장 좋습니다.
from file1 import x1, x2
이를 통해 변수 및 함수와의 불필요한 네임스페이스 충돌을 피할 수 있습니다.file1
에서 일하는 동안file2
.
그러나 필요한 경우 모든 변수를 가져올 수 있습니다.
from file1 import *
실제로 다음과 같은 방법으로 변수를 가져오는 것은 다릅니다.
from file1 import x1
print(x1)
그리고.
import file1
print(file1.x1)
Import 시 x1과 file1.x1의 값은 동일하지만 변수는 동일하지 않습니다.예를 들어 x1을 수정하는 file1의 함수를 호출하여 메인 파일에서 변수를 인쇄해 보십시오.변경된 값은 표시되지 않습니다.
first.py:
a=5
second.py:
import first
print(first.a)
결과는 5가 됩니다.
script1 입니다.화이
title="Hello world"
script1 변수를 사용하는 곳은 script2.py 입니다.
방법 1:
import script1
print(script1.title)
방법 2:.
from script1 import title
print(title)
Marc 반응이 정확합니다.사실, 당신은 변수의 메모리 주소를 인쇄할 수 있습니다.print(hex(id(libvar))
주소가 다른 것을 알 수 있습니다.
# mylib.py
libvar = None
def lib_method():
global libvar
print(hex(id(libvar)))
# myapp.py
from mylib import libvar, lib_method
import mylib
lib_method()
print(hex(id(libvar)))
print(hex(id(mylib.libvar)))
언급URL : https://stackoverflow.com/questions/17255737/importing-variables-from-another-file
'programing' 카테고리의 다른 글
Python에서 max-heap을 구현하려면 무엇을 사용해야 합니까? (0) | 2022.09.09 |
---|---|
Larabel 5.2에서 전화번호를 확인하는 방법 (0) | 2022.09.09 |
nullable 필드에 정의된 MySql 고유 제약 조건은 정확히 어떻게 작동합니까? (0) | 2022.09.09 |
PHPUnit을 사용하여 보호된 메서드를 테스트하는 모범 사례 (0) | 2022.09.09 |
동일한 워크북의 여러 워크시트에 대해 pd.read_excel()에 Panda 사용 (0) | 2022.09.09 |