为什么Python被称为动态类型?
Python变量赋值不同于一些流行的语言,如 c、c++ 和Java。没有变量的声明,只有一个赋值语句。
让我们看看为什么?
当我们在 C 或类似语言中声明一个变量时,这会留出一块内存区域来保存该变量的数据类型所允许的值。分配的内存将被解释为数据类型所暗示的。如果它是一个整数变量,则分配的内存将被读取为整数,依此类推。当我们用某个值分配或初始化它时,该值将存储在该内存位置。在编译时,将检查初始值或分配值。所以我们不能混合类型。示例:不允许将字符串值初始化为 int 变量,程序将无法编译。
但是Python是一种动态类型的语言。在代码运行之前,它不知道变量的类型。所以声明是没有用的。它的作用是,将该值存储在某个内存位置,然后将该变量名绑定到该内存容器。并使容器的内容可以通过该变量名访问。所以数据类型无关紧要。因为它将在运行时了解值的类型。
# This will store 6 in the memory and binds the
# name x to it. After it runs, type of x will
# be int.
x = 6
print(type(x))
# This will store 'hello' at some location int
# the memory and binds name x to it. After it
# runs type of x will be str.
x = 'hello'
print(type(x))
输出: