변수가 파이썬에 정의되어 있는지 확인
가능한 중복 :
파이썬에서 변수가 정의되어 있는지 확인하는 쉬운 방법은 무엇입니까?
파이썬에 변수가 있는지 어떻게 확인합니까?
런타임에 변수가 코드의 특정 위치에 설정되었는지 어떻게 알 수 있습니까? (1) 변수를 조건부로 설정할 수 있고 (2) 변수를 조건부로 삭제할 수 있기 때문에 항상 분명하지는 않습니다. defined()
Perl이나 isset()
PHP 또는 defined?
Ruby 와 같은 것을 찾고 있습니다.
if condition:
a = 42
# is "a" defined here?
if other_condition:
del a
# is "a" defined here?
try:
thevariable
except NameError:
print("well, it WASN'T defined after all!")
else:
print("sure, it was defined.")
'a' in vars() or 'a' in globals()
당신이 pedantic되고 싶다면, 당신은 내장도 확인할 수 있습니다
'a' in vars(__builtins__)
상황을 피하는 것이 낫다고 생각합니다. 작성하는 것이 더 깨끗하고 명확합니다.
a = None
if condition:
a = 42
try:
a # does a exist in the current namespace
except NameError:
a = 10 # nope
이것이 필요할 수있는 한 가지 가능한 상황 :
finally
블록을 사용하여 연결을 닫지 만 try
블록에서 사용하는 sys.exit()
경우 연결이 정의되기 전에 프로그램이 종료 됩니다. 이 경우 finally
연결이 작성되지 않아 블록이 호출되고 연결 종료 명령문이 실패합니다.
이 경우에는 a = None
대신 대신하는 것이 좋습니다 del a
. 이것은 객체 a
에 대한 참조 카운트를 감소시키고 (있는 경우) a
정의 되지 않은 경우 실패 하지 않습니다. 이 del
문장은 객체의 소멸자를 직접 호출하지 않지만 변수에서 바인딩 해제합니다. 참조 카운트가 0이되면 객체의 소멸자가 호출됩니다.
참고 URL : https://stackoverflow.com/questions/1592565/determine-if-variable-is-defined-in-python
'development' 카테고리의 다른 글
기존 테이블에서 열을 제거하는 방법? (0) | 2020.02.26 |
---|---|
NSMutableArray를 NSArray로 어떻게 변환합니까? (0) | 2020.02.26 |
알파벳순으로 NSArray를 정렬하는 방법은 무엇입니까? (0) | 2020.02.26 |
조각의 Android 옵션 메뉴 (0) | 2020.02.26 |
리턴 키로 UITextView의 키보드를 해제하는 방법은 무엇입니까? (0) | 2020.02.26 |