programing

다른 파일에서 변수를 가져오시겠습니까?

prostudy 2022. 9. 9. 09:17
반응형

다른 파일에서 변수를 가져오시겠습니까?

한 파일에서 다른 파일로 변수를 가져오려면 어떻게 해야 합니까?

예: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이 가지고 있지 않은 중요한 속성을 잃게 됩니다.- 마음에 드는 에디터의 단순한 「검색」기능에 의해서 각 톱 레벨의 이름이 정의되는 장소를 알 수 있습니다.또한 일부 모듈이 추가 기능 또는 클래스를 증가시키는 경우 미래에 문제가 발생할 수 있습니다.

x1x2를 명시적으로 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

반응형