python - 了解变量类型、名称和赋值

标签 python

在 Python 中,如果你想定义一个变量,你不必指定它的类型,这与 C 和 Java 等其他语言不同。

那么 Python 解释器如何区分变量并为其提供所需的内存空间,如 intfloat

最佳答案

在 Python 中,所有值都是具有内置类型信息的对象。变量是对这些值的引用。所以它们的类型是“动态的”,正好等于它们在特定时刻碰巧指代(指向)的类型。

只要为变量的内容分配了内存,就会有一个值可用。由于它有一个类型,因此所需的内存量是已知的。

引用(变量)本身总是占用相同数量的内存,无论它们指向什么,因为它们只包含一个概念地址。

这确实意味着在

def f (x):
    print (x)

x 没有类型,因为它还没有特定的值。 好处是这非常灵活。 缺点是编译器发现错误的手段有限。 出于这个原因,Python 最近丰富了 type hints . mypy 等工具允许静态类型检查,即使解释器不需要它。 但程序员有时会这样做,尤其是当她在团队中工作时,在模块边界 (API) 处。

关于python - 了解变量类型、名称和赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39917988/

相关文章:

javascript - Python - Flask - Google Charts API 获取每个 CategoryFilter 中的值并将其传递给 href

python - 编写 CSV 时添加的额外字符

python - 无法在 Flask Web 应用程序中加载网页上的图像

python - 我如何限制文本长度并添加点以显示延续 python django

python - 通过正确地将补丁一个放在另一个上,将重叠图像合并为单个图像

python - Flask 动态 Google map 标记(python、postgres、psycopg2)

过滤列然后创建新列的 Pythonic 方法

python - 定位球形多边形的质心(质心)

python - 不明白为什么解包没有按预期工作

python - 如何使用 Python API 迭代 SQLite 数据库?