【发布时间】:2012-01-23 19:13:25
【问题描述】:
我们如何知道变量的所有可能类型?考虑以下示例,
n = int(raw_input())
if n<50:
a = 5
elif n<100:
a = 6.8
else:
a = 'abc'
print type(a)
但是,它会根据 n 的值将输出作为“int”或“float”或“str”...
我们不能拥有所有可能的变量类型吗?例如,上面应该给出类似的输出:
{int,float,str}
【问题讨论】:
-
第一。你需要一个更好的英语拼写检查器。你的问题很难阅读。其次,Python 有无数种类型(因为可以通过
class定义新类型。)您想了解哪些您无法从阅读中学到的代码? -
作为非母语人士,由于存在大量缩写、拼写错误和多余的标点符号,我无法阅读此问题。你能把这些(例如
Bt,abv)写出来吗?谢谢! -
Python 是一种动态的鸭式编程语言。一般来说,这意味着行为比类型更重要。这也意味着变量可以是 any 类型。但是,在这种情况下,您编写了生成
a的代码,因此您知道a的类型。没有语言功能静态分析来确定a可以采用哪些值(以及因此哪些类型);你必须跟踪它。 -
您的要求无法完成,jcollado 是对的,python 中的
a甚至不是变量,而只是其值的“标签”。这个概念在Code Like a Pythonista: Idiomatic Python 中得到了很好的解释。
标签: python variables variable-types