>  기사  >  백엔드 개발  >  Python은 변수의 유형을 결정합니까?

Python은 변수의 유형을 결정합니까?

步履不停
步履不停원래의
2019-07-02 09:40:016552검색

Python은 변수의 유형을 결정합니까?

Python의 데이터 유형에는 숫자(int), 부동 소수점(float), 문자열(str), 목록(list), 튜플(tuple), 사전(dict), 집합(set)이 포함됩니다.

일반 다음 방법:

1, isinstance(매개변수 1, 매개변수 2)

설명: 이 함수는 변수(매개변수 1)가 type()

과 유사한 알려진 변수 유형(매개변수 2)인지 확인하는 데 사용됩니다.

Parameter 1: 변수

파라미터 2: 직접 또는 간접 클래스 이름, 기본 유형 또는 이들로 구성된 튜플일 수 있습니다.

반환값: 객체의 유형이 매개변수 2의 유형(classinfo)과 동일하면 True를 반환하고, 그렇지 않으면 False를 반환합니다.

예:

#判断变量类型的函数
def typeof(variate):
    type=None
    if isinstance(variate,int):
        type = "int"
    elif isinstance(variate,str):
        type = "str"
    elif isinstance(variate,float):
        type = "float"
    elif isinstance(variate,list):
        type = "list"
    elif isinstance(variate,tuple):
        type = "tuple"
    elif isinstance(variate,dict):
        type = "dict"
    elif isinstance(variate,set):
        type = "set"
    return type
# 返回变量类型
def getType(variate):
    arr = {"int":"整数","float":"浮点","str":"字符串","list":"列表","tuple":"元组","dict":"字典","set":"集合"}
    vartype = typeof(variate)
    if not (vartype in arr):
        return "未知类型"
    return arr[vartype]
    
#判断变量是否为整数
money=120
print("{0}是{1}".format(money,getType(money)))
#判断变量是否为字符串
money="120"
print("{0}是{1}".format(money,getType(money)))
money=12.3
print("{0}是{1}".format(money,getType(money)))
#判断变量是否为列表
students=['studentA']
print("{0}是{1}".format(students,getType(students)))
#判断变量是否为元组
students=('studentA','studentB')
print("{0}是{1}".format(students,getType(students)))
#判断变量是否为字典
dictory={"key1":"value1","key2":"value2"}
print("{0}是{1}".format(dictory,getType(dictory)))
#判断变量是否为集合
apple={"apple1","apple2"}
print("{0}是{1}".format(apple,getType(apple)))

Return:

Python은 변수의 유형을 결정합니까?

2. 알려진 유형 비교

예:

#判断变量类型的函数
def typeof(variate):
    type1 = ""
    if type(variate) == type(1):
        type1 = "int"
    elif type(variate) == type("str"):
        type1 = "str"
    elif type(variate) == type(12.3):
        type1 = "float"
    elif type(variate) == type([1]):
        type1 = "list"
    elif type(variate) == type(()):
        type1 = "tuple"
    elif type(variate) == type({"key1":"123"}):
        type1 = "dict"
    elif type(variate) == type({"key1"}):
        type1 = "set"
    return type1
# 返回变量类型
def getType(variate):
    arr = {"int":"整数","float":"浮点","str":"字符串","list":"列表","tuple":"元组","dict":"字典","set":"集合"}
    vartype = typeof(variate)
    if not (vartype in arr):
        return "未知类型"
    return arr[vartype]
    
#判断变量是否为整数
money=120
print("{0}是{1}".format(money,getType(money)))
#判断变量是否为字符串
money="120"
print("{0}是{1}".format(money,getType(money)))
money=12.3
print("{0}是{1}".format(money,getType(money)))
#判断变量是否为列表
students=['studentA']
print("{0}是{1}".format(students,getType(students)))
#判断变量是否为元组
students=('studentA','studentB')
print("{0}是{1}".format(students,getType(students)))
#判断变量是否为字典
dictory={"key1":"value1","key2":"value2"}
print("{0}是{1}".format(dictory,getType(dictory)))
#判断变量是否为集合
apple={"apple1","apple2"}
print("{0}是{1}".format(apple,getType(apple)))

반환:

1118859-20180719111155592-1613687455 (1).png

보충:

isinstance() 및 type() 차이점:

type()은 하위 클래스를 상위 클래스 유형으로 간주하지 않으며 그렇지 않습니다. 상속 관계를 고려하십시오.

isinstance()는 하위 클래스를 상위 클래스 유형으로 간주하고 상속 관계를 고려합니다.

두 유형이 동일한지 확인하려면 isinstance()를 사용하는 것이 좋습니다.

관련 튜토리얼 권장 사항: Python 비디오 튜토리얼

위 내용은 Python은 변수의 유형을 결정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.