Python 中的动态类型

在本教程中,我们将了解 python 中什么是动态类型。

每当我们用 python 编写程序时,我们都会遇到一组不同的语句,其中之一是赋值语句,我们用一个值初始化一个变量。

让我们看看在 Python 的情况下,赋值是如何不同的。

当我们谈论像 C、C++和 Java 这样的语言时,内存是根据变量的数据类型来分配的,并相应地被访问,而 python 是一种动态类型的语言,它将值存储在某个位置,然后将相应的变量名与容器相结合。

数据类型在运行时确定。

考虑下面给出的程序-


a = 12.0
print(type(a))
b = 24
print(type(b))
c = 'data'
print(type(c))
print (a * 3)
print (b * 3)
print (c * 3)

输出:

<class 'float'>
<class 'int'>
<class 'str'>
36.0
72
datadatadata

说明:

让我们来看看这个程序的解释-

  1. 在第一步中,我们已经用不同的类型初始化了变量 a、b 和 c。
  2. 之后,我们检查了它们的类型,分别是浮点型、整数型和字符串型。
  3. 下一步,将其中的三个乘以三。
  4. 因为数据类型在运行时是已知的,所以操作是基于该类型执行的。
  5. 我们可以观察到,输出中的第一个值是一个浮点值,下一个值是一个整数,一个字符串乘以三倍。
  6. 在执行程序时,会显示预期的输出。

对象、变量和引用之间的关系。

当我们在 Python 中赋值一个变量时,会出现以下一系列步骤

  1. 我们在内存中创建一个包含值的对象。
  2. 如果变量名还不存在,我们可以创建它。
  3. 引用被分配给变量的对象。

考虑下面给出的程序-


a = 12.0
print (type(a))
a = 24
print(type(a))
a = 'data'
print (type(a))
a = 2+3j
print (type(a))

输出:

<class 'float'>
<class 'int'>
<class 'str'>
<class 'complex'>

说明:

让我们了解一下在上面的程序中发生了什么。

  1. 我们已经用不同数据类型的值初始化了变量’ a 。
  2. 在此之后,我们检查了每种情况下“ a 的类型。
  3. 由此,我们可以推断-
    1. 在第一种情况下,是对浮点对象的引用。
    2. 在第二种情况下,是对整数对象的引用。
    3. 在第三种情况下,是对字符串对象的引用。
    4. 在第四种情况下,是对复杂对象的引用。

共享参数

在开始之前,让我们看看这个程序-


a = 12.0
b = a
print(a)
print(b)

输出:

12.0
12.0

说明:

是时候了解这里到底发生了什么-

  1. 我们已经将 a 的值初始化为 12.0 并将 b 初始化为 a 。
  2. 在此之后,我们打印出了 a 和 b 的值,结果是 12.0

这只不过是共享引用的概念,它说“两个变量可以有相同的引用。”

再举一个例子就更清楚了。


a = 12.0
b = a
a = a * 7
print(a)
print(b)

输出:

84.0
12.0

说明:

让我们来看看这个程序的解释-

  1. 我们已经将 a 的值初始化为 12.0, b 的值初始化为 a ,然后再次用* 7 赋值‘a
  2. 在此之后,我们打印了 a 的 a 和 b 的值,结果是 84.0,但是 b 的情况下是 12.0,因为它仍然引用了 a 的第一个值。

动态类型语言的缺点

使像 Java 这样的语言更方便的特性是它是静态类型的,因此错误和错误是在编译时而不是运行时报告的。

因此,python 开发人员最关心的是错误会在运行时显示出来,因此他们必须制定策略来纠正错误。

结论

作为本教程的总结,我们可以说 python 是一种动态类型语言,在这里我们了解了在使用它时可以观察到的独特特征。


原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/293021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-25 18:38
下一篇 2024-12-25 18:38

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29

发表回复

登录后才能评论