在Python中,有更好的方式检查多个变量为单一类型吗?
if not [True]*3 == [isinstance(i, int) for i in [days, months, years]]:
raise TypeError('days, months, and years must be int type not %s %s %s'
% (type(days), type(months), type(years)))
我想检查天、月和年是否是整数。我想到的最简洁的方法就是上面那样,但我不确定这是否是最好的方法。不过我觉得这样比为每个整数写多个if语句要好。
2 个回答
6
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,但其实很多时候,解决这些问题的方法是相似的。
比如说,当你在使用一个新的编程框架时,可能会发现它的文档写得不够清楚,或者你不太明白某些功能是怎么用的。这种情况下,最好的办法就是去查找一些示例代码,看看别人是怎么做的。
另外,社区的力量也很重要。像StackOverflow这样的论坛上,有很多人分享他们的经验和解决方案。你可以在上面提问,或者搜索一下是否有人遇到过类似的问题。
总之,遇到问题时不要慌张,先冷静下来,查找资料,看看有没有现成的解决方案。编程就是一个不断学习和解决问题的过程,慢慢来,你会越来越熟练的。
if not all(isinstance(i, int) for i in [days, months, years])