python测试变量类型用什么来实现,在Python中测试变量类型

我正在为’Room’类创建一个初始化函数,并发现该程序不接受我对输入变量进行的测试.

为什么是这样?

def __init__(self, code, name, type, size, description, objects, exits):

self.code = code

self.name = name

self.type = type

self.size = size

self.description = description

self.objects = objects

self.exits = exits

#Check for input errors:

if type(self.code) != type(str()):

print 'Error found in module rooms.py!'

print 'Error number: 110'

elif type(self.name) != type(str()):

print 'Error found in module rooms.py!'

print 'Error number: 111'

elif type(self.type) != type(str()):

print 'Error found in module rooms.py!'

print 'Error number: 112'

elif type(self.size) != type(int()):

print 'Error found in module rooms.py!'

print 'Error number: 113'

elif type(self.description) != type(str()):

print 'Error found in module rooms.py!'

print 'Error number: 114'

elif type(self.objects) != type(list()):

print 'Error found in module rooms.py!'

print 'Error number: 115'

elif type(self.exits) != type(tuple()):

print 'Error found in module rooms.py!'

print 'Error number: 116'

当我运行这个时,我收到此错误:

Traceback (most recent call last):

File "/Users/Jasper/Development/Programming/MyProjects/Game Making Challenge/Europa I/rooms.py", line 148, in

myRoom = Room(101, 'myRoom', 'Basic Room', 5, '', myObjects, myExits)

File "/Users/Jasper/Development/Programming/MyProjects/Game Making Challenge/Europa I/rooms.py", line 29, in __init__

if type(self.code) != type(str()):

TypeError: 'str' object is not callable

—-感谢您的帮助,但是:—–

这适用于isinstance(item,list)或isinstance(item,tuple)吗?

解决方法:

没有回答“为什么”,但是

> str本身已经是一种类型了.你可以使用type(self.code)!= str

>但更好的方法是使用isinstance(self.code,str).

标签:python,variables,testing

来源: https://codeday.me/bug/20190711/1437534.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值