있는지 확인하는 방법을 유형의 가변입니다 구체화하십시오?

Python 은 변수로 유형을 여부를 확인할 수 있는 방법이 구체화하십시오. 다음과 같습니다.

isinstance(x,int);

정수 값을 위한?

질문에 대한 의견 (3)

Python 에서 2.x 전날에약혼자에게 해야한다고

isinstance(s, basestring)

'배서스트링' 은 [추상 수퍼] (https://docs.python.org/2/library/functions.html # 배서스트링) '와' 유니코드 '의' str. Str 인스턴스입니다 표시할지를 테스트하려면 객체를 사용할 수 있다 '' 또는 '유니코드'.

윈도 3.x 의 올바른 test) 은,

isinstance(s, str)

39 로 입력, t '클래스' 를 바이트입니다 isn& 문자열으로 파이썬 3.

해설 (6)

하지만 이것은 오래된 항목를 그러니까말이야 기술입니까 나와 있는 점을 감안하면, 구글, 첫 번째 # 39 의 만족스러운 해답을 찾을 수 없다 난 don& I& # 39, ll leave this here for 향후 참조:

6 는 파이썬 라이브러리 있으며 이미 닫히지만 호환성에서는 2 와 3 이 문제를 해결할 수 있습니다. 이 같은 일이 재동기화할 수 있습니다.

import six

if isinstance(value, six.string_types):
    pass # It's a string !!

내어 코드, 이게 찾을 수 있습니다.

import sys

PY3 = sys.version_info[0] == 3

if PY3:
    string_types = str,
else:
    string_types = basestring,
해설 (1)

윈도 3.x 에서 또는 파이썬 2.7.6

if type(x) == str:
해설 (3)

할 수 있습니다.

var = 1
if type(var) == int:
   print('your variable is an integer')

또는:

var2 = 'this is variable #2'
if type(var2) == str:
    print('your variable is a string')
else:
    print('your variable IS NOT a string')

이를 통해 희망을!

해설 (0)

또한 유형 모듈에서는 경우 정수 및 써줬지 이상의 존재 확인 http://docs.python.org/library/types.html

해설 (2)

이후 ',' t # 39 에 정의된, 이 작은 트릭 권능은하나님께 배서스트링 isn& Python3 만드는 데 코드 호환적:

try: # check whether python knows about 'basestring'
   basestring
except NameError: # no, it doesn't (it's Python3); use 'str' instead
   basestring=str

그 후 다음 시험을 Python2 및 Python3 모두 실행할 수 있습니다.

isinstance(myvar, basestring)
해설 (1)

파이썬 유니코드 등 2 / 3

from __future__ import unicode_literals
from builtins import str  #  pip install future
isinstance('asdf', str)   #  True
isinstance(u'asdf', str)  #  True

http://python-future.org/overview.html

해설 (1)

더 나은 답을 기준으로 편집하십시오 같습니다. 약 3 의 배서스트링 대한 답을 찾고 다운 시원함.

이전 대답: 이 밖에 볼 수 있는 모든 COM 호출 등 여러 번, 유니코드 문자열을 Windows 에서 얻을 수 있다.

if isinstance(target, str) or isinstance(target, unicode):
해설 (4)

다른 많은 좋은 제안, 하지만 난 여기서 제공하는 don& # 39, t 지켜보리니 좋은 크로스 플랫폼 요약. 다음 좋은 파이썬 프로그램에 대한 하락 합니다.

def isstring(s):
    # if we use Python 3
    if (sys.version_info[0] >= 3):
        return isinstance(s, str)
    # we use Python 2
    return isinstance(s, basestring)

이 기능을 사용할 수 있는지, 우리는 '이신스턴스 (오브젝트, 클레생포)' 또는 '3' 에서 '우리' 의 str 은 파이썬 입력입니다 배서스트링 파이썬 2.

해설 (4)

또한 내가 원하는 것을 볼 수 있는지 여부를 확인하고 싶다면 특정 유형의 가변입니다 같은 유형의 가변으로 알려진 객체에는 유형에 따라 비교할 수 있습니다.

이 문자열 사용할 수 있습니다.

type(s) == type('')
해설 (3)

그래서,

다양한 옵션 너회의 가변입니다 구체화하십시오 방관하겠나 여부를 확인할 수 있습니다.

a = "my string"
type(a) == str # first 
a.__class__ == str # second
isinstance(a, str) # third
str(a) == a # forth
type(a) == type('') # fifth

이 순서는 목적에 대한.

해설 (0)

파이썬 2 위한 다른 방법을 사용하지 않고 배서스트링:

isinstance(s, (str, unicode))

하지만 여전히 won& # 39, t, t # 39 isn& 작업하십시오 파이썬 유니코드 '이후' 3 정의 (의 파이썬 3).

해설 (0)
a = '1000' # also tested for 'abc100', 'a100bc', '100abc'

isinstance(a, str) or isinstance(a, unicode)

진정한 되돌려줍니다

type(a) in [str, unicode]

진정한 되돌려줍니다

해설 (1)

제 대답은 슬라이드에서는 파이썬 2 와 함께 3 이러한 요구 사항을 모두 지원할 수 있다.

  • 로 작성된 코드를 Py3 최소한의 Py2 호환성 코드입니다.

  • 나중에 Py2 제거하시겠습니까 호환성 코드를 중단 없이. I. e. aim 삭제용으로 Py3 코드를 위해 전용, 수정할 수 없습니다.

  • '6' 또는 이와 유사한 호환성 등을 숨기십시오 어떤 모듈로 사용하지 않는 경향이 있습니다 낼 위해 노력하고 있다.

  • 미래에 대한 잠재적 Py4.

import sys
PY2 = sys.version_info.major == 2

# Check if string (lenient for byte-strings on Py2):
isinstance('abc', basestring if PY2 else str)

# Check if strictly a string (unicode-string):
isinstance('abc', unicode if PY2 else str)

# Check if either string (unicode-string) or byte-string:
isinstance('abc', basestring if PY2 else (str, bytes))

# Check for byte-string (Py3 and Py2.7):
isinstance('abc', bytes)
해설 (0)

이 작품을 위해 외부 파이썬 라이브러리 의존하지 않으려면 모두 2.7+ 및 파이썬 3 (http://ideone.com/uB4Kdc):

# your code goes here
s = ["test"];
#s = "test";
isString = False;

if(isinstance(s, str)):
    isString = True;
try:
    if(isinstance(s, basestring)):
        isString = True;
except NameError:
    pass;

if(isString):
    print("String");
else:
    print("Not String");
해설 (0)
  • 이신스턴스 함수를 사용하면 됩니다 유니코드 문자열을 입력 데이터가 있는지 확인하기 위해 형식 또는 *. 아래의 예는 쉽게 이해하는 데 도움이 된다.
>>> isinstance('my string', str)
True
>>> isinstance(12, str)
False
>>> isinstance('my string', unicode)
False
>>> isinstance(u'my string',  unicode)
True
해설 (0)
s = '123'
issubclass(s.__class__, str)
해설 (0)

This is how I do it.

if type(x) == type(str()):
해설 (2)

39 i&, ve seen:

hasattr(s, 'endswith') 
해설 (0)
>>> thing = 'foo'
>>> type(thing).__name__ == 'str' or type(thing).__name__ == 'unicode'
True
해설 (1)