Python:更改变量的数据类型

Eni*_*man 0 c c++ python

我是Python的新手,我发现这很奇怪(而且很神奇).谁能解释一下?

a = 2.0
b = 3.1
if b==3.1:
    print "%f"%a
    a = "Hi!"
    print "%s"%a
print "%s"%a


Output:
2.000000
Hi!
Hi!
Run Code Online (Sandbox Code Playgroud)

如何为类型a更改floatstring?如何在C/C++中做类似的事情?

Cha*_*via 7

Python是一种动态类型语言,这意味着相同的变量可以引用不同类型的对象.C,C++和Java等语言是静态类型的,这意味着类型是在编译时确定的.

在支持面向对象编程的静态类型语言(如C++)中,您可以使用继承和多态(基类指针)来引用不同子类类型的多个对象,但它不像" 鸭子打字 " 那样灵活.进入Python.

在C和C++中,您还可以使用通用void*指针指向任何类型的对象,但是您将失去编译器提供的类型安全性.