NoneType을 python에서 "테스트"하는 방법?
가끔 NoneType 값을 반환하는 방법이 있다.그러면 NoneType인 변수를 어떻게 질문할 수 있는가?예를 들어 if method를 사용해야 한다.
if not new:
new = '#'
나는 그것이 잘못된 방법이라는 것을 알고 있고 나는 네가 내 뜻을 이해하기를 바란다.
그러면 NoneType인 변수를 어떻게 질문할 수 있는가?
사용하다is
연산자, 이렇게
if variable is None:
이게 왜 효과가 있지?
Python의 유일한 싱글톤 물체이기 때문에, 우리는 사용할 수 있다.is
연산자: 변수가 있는지 확인None
그 안에서든 아니든
문서를 인용하면
연산자
is
그리고is not
개체 ID 테스트:x is y
만약의 경우에 한해서만 진실이다.x
그리고y
같은 물건이다.x is not y
반진리 값을 산출하다
한 가지 예만 있을 수 있기 때문에None
,is
점검하는 것이 선호되는 방법일 것이다.None
.
그 말을 경마에서 듣다.
Python의 코딩 스타일 가이드라인 인용 - PEP-008(Guido가 직접 정의)
단골격과 같은 단골격과의 비교는 항상 또는 결코 평등 연산자와 함께 수행되지 않아야 한다.
if variable is None:
...
if variable is not None:
...
로도 할 수 있다.isinstance
알렉스 홀의 대답에 따르면:
>>> NoneType = type(None)
>>> x = None
>>> type(x) == NoneType
True
>>> isinstance(x, NoneType)
True
isinstance
직관적이기도 하지만 선이 필요하다는 복잡함이 있다.
NoneType = type(None)
이런 타입에는 필요없지만int
그리고float
.
아론 홀의 논평에서 지적한 바와 같이:
서브클래스를 할 수 없기 때문에.
NoneType
그리고 그 이후로None
싱글톤이지만isinstance
검출에 사용해서는 안 된다.None
- 대신, 승인된 답변대로 하고, 사용is None
, 또는is not None
.
원본 답변:
그러나 카다멈의 대답 외에 별도의 선이 없는 가장 간단한 방법은 아마도 다음과 같다.
isinstance(x, type(None))
그러면 NoneType인 변수를 어떻게 질문할 수 있는가?if method를 사용해야 한다.
사용.isinstance()
을 필요로 하지 않다is
의 범위 내에서if
-문장:
if isinstance(x, type(None)):
#do stuff
부가정보
여러 유형을 한 번에 확인할 수도 있다.isinstance()
문서에 언급된 문구그냥 투플로 타입을 쓰세요.
isinstance(x, (type(None), bytes))
이것이 질문에 대한 답을 제공하는지 확실하지 않다.하지만 알아내는데 시간이 좀 걸렸다는 건 알아.나는 웹사이트를 반복하고 있었는데 갑자기 작가들의 이름이 더 이상 없었다.그래서 체크 문장이 필요했다.
if type(author) == type(None):
print("my if body")
else:
print(" my else body")
작성자는 이 경우에 어떤 변수가 될 수 있으며,None
당신이 확인하고 있는 어떤 타입도 될 수 있다.
Python 2.7 :
x = None
isinstance(x, type(None))
, 또는
isinstance(None, type(None))
==> 참
이 예가 당신에게 도움이 되기를 바란다)
print(type(None)) # NoneType
따라서 변수 이름의 유형을 확인하십시오.
# Example
name = 12 # name = None
if type(name) is type(None):
print("Can't find name")
else:
print(name)
참조URL: https://stackoverflow.com/questions/23086383/how-to-test-nonetype-in-python
'programing' 카테고리의 다른 글
가져오기 경로 내부의 @는 무엇을 의미하나? (0) | 2022.03.23 |
---|---|
(null이 없는) 두 스트림을 병합하여 쌍에 조건을 적용하는 방법 (0) | 2022.03.23 |
각도 주입식 장식기 - 인수가 0인 것으로 예상되지만 1개임 (0) | 2022.03.23 |
Vue.js - 중첩된 데이터를 올바르게 감시하는 방법 (0) | 2022.03.23 |
Vue.js 라우터: $route.router.go()가 작동하지 않는 이유는? (0) | 2022.03.23 |