我正在创建一个验证功能,该功能将验证输入是否为对象。
我不知道该如何处理。因此,任何帮助或建议都是非常有益的。
任何对对象验证的搜索都会导致我在Django中进行表单验证,而这并不是我想要的。
答案 0 :(得分:1)
假设您要验证用户创建的类的对象(因为否则python中的所有对象都是对象),请在Python3中进行尝试:
import inspect
def is_object(x):
if isinstance(x, (int, str, float, complex)):
print("Built-in class's object")
return False
elif hasattr(x, '__class__') and inspect.isclass(x) is False:
print("Custom class's object")
return True
elif inspect.isclass(x):
print("Class")
return False
else:
return False
答案 1 :(得分:0)
您可以使用type()
验证给定的输入。
>>> a= 10
>>> type(a)
<class 'int'>
>>> class custom:
pass
>>> a=custom()
>>> type(a)
<class '__main__.custom'>
>>>a="hello"
>>> type(a)
<class 'str'>
>>>a=[]
>>>type(a)
<class 'list'>
否则您可以使用isinstance()
方法。
>>>a=[]
>>>isinstance(a,list)
True
>>> a="hello"
>>>isinstance(a,str)
True
>>>a=122
>>>isinstance(a,str)
False
>>>a=122
>>>isinstance(a,float)
False