0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

深入了解python常量与变量

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-02-16 18:22 次阅读

2.1 python常量与变量

变量:在程序运行过程中,值会发生变化的量

常量:在程序运行过程中,值不会发生变化的量

无论是变量还是常量,在创建时都会在内存中开辟一块空间,用于保存它的值。

1. 变量不需要声明类型

Python 的变量和常量不需要事先声明类型,这是根据Python的动态语言特性而来。

例如下面的 age 和 name 两个变量,在使用前没有进行任何的诸如 age int 和 name string 的类型声明,而这在一些静态语言中,比如 JAVA 和 Golang 中是必须的。

>>> age = 18
>>> name = "王炳明"
>>>

2. 赋值与比较

Python 中 用 = 号来给变量赋值,比如下面这个表达式,age 这个变量的值就是 18

>>> age = 18

与之相似的,新手会容易混淆的是 两个等号 == ,它表示的是比较两个值是否相等,如果相等返回 True,如果不相等返回 False

>>> age = 18
>>> age == 18
True
>>> age == 17
False

3. 先创建再使用

每个变量在使用前都必须赋值,变量赋值以后才会被创建。

新的变量通过赋值的动作,创建并开辟内存空间,保存值。

如果没有赋值而直接使用,会抛出变量未定义的异常。例如:

>>> age
Traceback (most recent call last):
  File "", line 1, in 
NameError: name 'age' is not defined
>>>
>>> age = 18
>>> age
18

4. 赋值​的方式

赋值的两种方式

第一种:单个直接赋值

>>> age = 18
>>> age
18

第二种:多个批量赋值

>>> a = b = c = 1
>>> a
1
>>> b
1
>>> c
1

第三种:先计算再赋值

# 先计算 17+1,再把结果赋值给age
>>> age = 17+1
>>> age
18

第四种:分别赋值

>>> a, b, c = 1, 2, 3
>>> a
1
>>> b
2
>>> c
3

第三种:先计算再赋值

5. 理解赋值的背后

理解变量在计算机内存中的表示也非常重要。

当我们写:a = "Jack" 时,Python解释器干了两件事情:

在内存中创建了一个'Jack'的字符串对象;

在内存中创建了一个名为a的变量,并把它指向 'Jack'。

而当你把一个变量a赋值给另一个变量b,这个操作实际上是将变量b指向变量a所指向的数据,例如下面的代码:

>>> a = "Jack"
>>> a
'Jack'
>>> b = a
>>> b
'Jack'
>>> id(a)
4332916664
>>> id(b)
4332916664

通过id() 可以查看变量值的内存地址,打印出来的 a 和 b的内存地址是一样的,因此二者其实是一个数据。

但如果继续对 a 进行赋值其他值, 会发现 a 的内存地址变了,而 b 的并没有变

>>> a = "Tom"
>>> a
'Tom'
>>> id(a)
4332974128
>>> id(b)
4332916664

请牢记:Python中的一切都是对象,变量是对象的引用!:

执行a = ‘Jack’,解释器创建字符串‘Jack’对象和变量a,并把a指向‘Jack’对象;

执行b = a,解释器创建变量b,并且将其指向变量a指向的字符串‘Jack’对象;

执行a = ‘Tom’,解释器创建字符串‘Tom’对象,并把a改为指向‘Tom’对象,与b无关。

深入了解python常量与变量

6.​ 简单介绍常量

说完变量,还要说下常量。

常量就是不变的变量,比如常用的数学常数圆周率就是一个常量。在Python中,通常用全部大写的变量名表示常量:

>>> PI = 3.14159265359
>>> PI
3.14159265359

但事实上,从Python语法角度看,PI仍然是一个变量,因为Python根本没有任何机制保证PI不会被改变。你完全可以给PI赋值为10,不会弹出任何错误。所以,用全部大写的变量名表示常量只是一个习惯上的用法。

常量通常放置在代码的最上部,并作为全局使用。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语言
    +关注

    关注

    1

    文章

    97

    浏览量

    24051
  • 字符
    +关注

    关注

    0

    文章

    229

    浏览量

    24896
  • python
    +关注

    关注

    51

    文章

    4678

    浏览量

    83485
收藏 人收藏

    评论

    相关推荐

    Linux环境变量配置方法

    想必大家平时工作中也会配置Linux的环境变量,但是可能也仅仅是为解决某些工具的运行环境,对于Linux环境变量本身的配置学问还没深入了解。今天浩道跟大家分享Linux环境变量的硬核干
    的头像 发表于 01-04 09:51 258次阅读

    python环境变量的配置pip

    Python环境变量的配置和使用是每个Python开发者都需要了解和掌握的基本技能之一。在本文中,我们将详细介绍如何正确配置Python环境
    的头像 发表于 12-15 15:41 1002次阅读

    深入了解 GaN 技术

    深入了解 GaN 技术
    的头像 发表于 12-06 17:28 4509次阅读
    <b class='flag-5'>深入了解</b> GaN 技术

    pycharm怎么配置python环境变量

    正确的 Python 环境变量是非常重要的,因为它会影响到项目的运行和依赖包的安装。本文将详细介绍如何在 PyCharm 中配置 Python 环境变量。 PyCharm 支持在全局和
    的头像 发表于 11-29 14:56 955次阅读

    安装python怎么添加到环境变量

    Python是一种简单易学的脚本语言,广泛应用于开发各种类型的应用程序。为了在Windows操作系统上使用Python的命令行工具,需要将Python添加到系统的环境变量中。本文将向您
    的头像 发表于 11-23 16:40 759次阅读

    python变量命名规则

    的规则和约定。本文将详尽、详实、细致地探讨Python变量的命名规则,帮助读者了解如何正确命名变量并在编程中遵循最佳实践。 一、变量命名规则
    的头像 发表于 11-23 15:44 753次阅读

    python循环创建变量并赋值

    Python中如何使用循环创建变量并赋值,以及它的一些应用场景。 首先,让我们来了解一下Python中的循环。Python提供了两种常用的
    的头像 发表于 11-23 14:51 650次阅读

    什么是常量折叠?Python如何优雅地实现它

    求值,然后用求值的结果来替换表达式,从而使得运行时更精简。 在本文中, 我们深入探讨了什么是常量折叠,了解了它在 Python 世界中的适用范围,最后解读了
    的头像 发表于 10-30 11:10 225次阅读
    什么是<b class='flag-5'>常量</b>折叠?<b class='flag-5'>Python</b>如何优雅地实现它

    C语言中基本数据类型、变量常量的使用

    C语言中基本数据类型、变量常量的使用
    发表于 08-18 16:42 593次阅读
    C语言中基本数据类型、<b class='flag-5'>变量</b>和<b class='flag-5'>常量</b>的使用

    西门子PLC变量表是什么?PLC变量表的结构简介

    每个 PLC 变量表包含变量选项卡和用户常量选项卡。默认变量表和“所有变量”(All tags) 表还均包括“系统
    发表于 08-07 10:07 2285次阅读
    西门子PLC<b class='flag-5'>变量</b>表是什么?PLC<b class='flag-5'>变量</b>表的结构简介

    深入了解安全光栅

    深入了解安全光栅
    的头像 发表于 06-25 13:53 764次阅读
    <b class='flag-5'>深入了解</b>安全光栅

    西门子博途:PLC变量

    PLC 变量表包含在整个 CPU 范围有效的变量和符号常量的定义。系统会为项目中使用的每个 CPU 自动创建一个 PLC 变量表。可以创建其它变量
    的头像 发表于 06-14 10:32 5641次阅读
    西门子博途:PLC<b class='flag-5'>变量</b>

    深入了解电动牙刷的构造及原理

    电动牙刷作为一款便捷、时尚的消费电子产品,深得很多用户的喜爱。您知道电动牙刷是怎么工作的吗?它里面有用到哪些分立器件产品?本文带您深入了解电动牙刷的构造及原理。
    发表于 06-05 11:51 1915次阅读
    <b class='flag-5'>深入了解</b>电动牙刷的构造及原理

    带你深入了解RS485总线

    做工程很多时候会提到RS485控制线,它到底是什么呢?今天我聊聊RS485相关的应用,深入了解RS485,你会发现里面的知识确实有很多,那么我们就选择一些平时在弱电中会考虑到的问题供大家了解
    发表于 05-16 14:13 8638次阅读
    带你<b class='flag-5'>深入了解</b>RS485总线

    KUKA机器人DECL 声明程序和数据列表中的变量常量V5.9

    “ =” 符号和最初的值以常量的形式跟随变量名。当声明默认的设置,你不能在声明语句中列出多个变量。一个单独的声明语句是任何一个变量被分配默认设置的所必须的。当分配默认设置时,关键字DE
    的头像 发表于 05-10 11:39 3672次阅读
    KUKA机器人DECL 声明程序和数据列表中的<b class='flag-5'>变量</b>和<b class='flag-5'>常量</b>V5.9