한 파일에서 다른 파일로 변수를 가져 오는 방법은 무엇입니까?
예 : file1
변수가 x1
있고 x2
전달하는 방법은 file2
무엇입니까?
한 변수에서 다른 변수로 모든 변수를 가져 오는 방법은 무엇입니까?
답변
from file1 import *
file1의 모든 객체와 메소드를 가져옵니다.
답변
file1
내부 가져 오기file2
:
file2의 네임 스페이스를 넘치지 않고 file1에서 모든 변수를 가져 오려면 다음을 사용하십시오.
import file1
#now use file1.x1, file2.x2, ... to access those variables
file1에서 file2의 네임 스페이스로 모든 변수를 가져 오려면 (권장되지 않음) :
from file1 import *
#now use x1, x2..
로부터 문서 :
from module import *
모듈 수준에서 사용하는 것이 유효하지만 일반적으로 나쁜 생각입니다. 우선, 이것은 파이썬이 그렇지 않은 중요한 속성을 잃어 버립니다. 여러분이 선호하는 편집기에서 간단한 “검색”기능으로 각 최상위 이름이 정의 된 곳을 알 수 있습니다. 일부 모듈이 추가 기능이나 클래스를 키울 경우 나중에 문제가 발생할 수도 있습니다.
답변
x1 및 x2를 명시 적으로 가져 오는 것이 가장 좋습니다 .
from file1 import x1, x2
이를 통해 file1
작업 중에 변수 및 함수와 불필요한 네임 스페이스 충돌을 피할 수 있습니다 file2
.
그러나 정말로 원하는 경우 모든 변수를 가져올 수 있습니다 .
from file1 import *
답변
실제로 이것은 다음을 사용하여 변수를 가져 오는 것과 실제로 동일하지 않습니다.
from file1 import x1
print(x1)
과
import file1
print(file1.x1)
임포트시 x1과 file1.x1의 값은 같지만 변수는 동일하지 않습니다. 예를 들어, x1을 수정하는 파일 1에서 함수를 호출 한 다음 기본 파일에서 변수를 인쇄하려고 시도하면 수정 된 값이 표시되지 않습니다.
답변
마크 응답 이 맞습니다. 실제로 변수의 메모리 주소를 인쇄 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)))
답변
script1.py
title="Hello world"
script2.py 는 script1 변수를 사용하는 곳입니다
방법 1 :
import script1
print(script1.title)
방법 2 :
from script1 import title
print(title)
답변
에서 Python
당신은 그들이 것처럼 같은 다른 파일의 내용을 액세스 할 수있는
자바 나 OOP의 기본 언어와 같은 다른 언어에 비해, 도서관의 일종이다, 이건 정말 멋지다;
파일의 내용에 액세스하거나 파일을 가져 와서 처리하거나 파일로 처리합니다. 그리고 이것이 Python
데이터 과학 및 기계 학습 등에 매우 선호되는 언어 인 주된 이유 입니다.
어디에서 비밀 키 .env file
가있는 변수에 액세스하고 있습니까?API links
일반 구조 :
from <File-Name> import *