繁体   English   中英

Python如何知道变量的数据类型?

[英]How does Python know the datatype of a variable?

例如,我正在迭代字典mydict ,如下所示:

mydict = {"Name" : "Vincent Vega",
          "Profession" : "Gangster",
          "Age" : "42"}

for k in mydict:
    print k, mydict[k]

现在, k只是一个我甚至没有声明的循环变量。 编译器如何知道k ,我的意思是字典的键?

for语句在对象上使用特殊方法( __iter__next ),这里是mydict

每次迭代产生一个结果,存储在变量k

对于字典, __iter__方法返回字典的键。

更多信息在这里

for循环在循环的序列上调用iter() ,并对结果使用next()调用。
不同的对象可以返回具有不同行为的不同迭代器,这就是为什么你会一次看到它迭代字典的键,另一次是数组的索引,这取决于iterable。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM