python如何跟踪变量数据类型?

python如何跟踪变量数据类型?,python,Python,我对Java非常熟悉,正在学习Python。我一直在Python中使用OOP,对它如何跟踪数据类型有点困惑。我感到困惑的是下图中的get_average_grade()函数。在for循环中,Python如何知道student是student类型的对象?注意:self.students列表被指定为类“init中的空列表 Python足够聪明,可以在分配变量时知道希望变量是什么类型。看看这个 student = 'Hi Mom!' print (student) student = 7 print

我对Java非常熟悉,正在学习Python。我一直在Python中使用OOP,对它如何跟踪数据类型有点困惑。我感到困惑的是下图中的get_average_grade()函数。在for循环中,Python如何知道student是student类型的对象?注意:self.students列表被指定为类“init中的空列表


Python足够聪明,可以在分配变量时知道希望变量是什么类型。看看这个

student = 'Hi Mom!'
print (student)

student = 7
print (student)

student = [1, 2, 3]
print (student)

在任何时候,“student”都可以是字符串、整数、列表、字典等。

Python变量实际上没有数据类型。Python变量只是指向对象的引用(或指针)的符号名。该对象有一个值(例如23或“cat”)和一个类型(例如str或int或Student)。一个名字可以在一秒钟内与整数关联,在下一秒钟与学生关联

您可以对任何变量调用
get\u grade()
。如果该变量没有
get_grade()
方法,则结果是AttributeError异常

所有Python程序员都应该阅读的一些有用的背景资料:


检查请将任何代码作为文本包含在问题中,而不是作为图像。不清楚您在问什么。Python是一种动态类型的语言,对象的类型是在运行时确定的,因此像Java这样的静态类型语言中的许多内容不会直接翻译。你到底在问什么?Python不需要知道
student
student
类型的对象。请看,在Python中,理解变量没有数据类型非常重要。它们可以引用任何类型的对象