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

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

3天内不再提示

深入了解python常量与变量

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

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

    浏览量

    24327
  • 字符
    +关注

    关注

    0

    文章

    234

    浏览量

    25314
  • python
    +关注

    关注

    56

    文章

    4813

    浏览量

    85307
收藏 人收藏

    相关推荐

    深入了解U8g2与LVGL图形库

    在单片机开发领域,图形显示功能变得越来越重要。无论是工业控制界面、智能家居设备,还是手持仪器仪表,都需要一个高效且易用的图形库来实现丰富的可视化效果。U8g2 和 LVGL 就是其中两款备受关注的图形库,它们各有特点,适用于不同的应用场景。今天,我们就来深入了解这两个图形库。
    的头像 发表于 02-13 11:01 510次阅读

    深入了解 PCB 制造技术:铣削

    了 PCB 铣削的复杂性、铣削工艺、其优势、挑战和应用。 了解 PCB 铣削 PCB 铣削涉及从覆铜板上机械去除材料,以创建电气隔离并形成电路图案。与使用化学溶液溶解不需要的铜的传统蚀刻方法不同,铣削使用精确控制的铣削钻头来物理雕刻出所需的痕迹。该过程通
    的头像 发表于 01-26 21:25 211次阅读
    <b class='flag-5'>深入了解</b> PCB 制造技术:铣削

    const定义的是不是常量

    C语言是如何定义常量的?const定义的算不算是常量? 常见的有这么几种方式。 首先就是宏定义,使用 define 来定义。 宏的特点就是在预处理的时候被替换,比如这个地方的 SIZE,预处理后就会
    的头像 发表于 01-14 11:35 162次阅读

    深入了解涡街流量计 原理及内部构造

    涡街流量计是一种常用的流量测量仪表,LUB系列涡街流量计的内部构造与原理密切相关,共同构成了其高精度、宽量程比和稳定运行的基础。本文将深入介绍涡街流量计的原理及内部构造,以便更好地了解涡街流量计
    的头像 发表于 01-06 15:17 251次阅读

    如何为不同的电机选择合适的驱动芯片?纳芯微带你深入了解

    在现代生活中,电机广泛使用在家电产品、汽车电子、工业控制等众多应用领域,每一个电机的运转都离不开合适的驱动芯片。纳芯微提供丰富的电机驱动产品选择,本期技术分享将重点介绍常见电机种类与感性负载应用,帮助大家更深入了解如何选择合适的电机驱动芯片。
    的头像 发表于 12-23 09:58 596次阅读
    如何为不同的电机选择合适的驱动芯片?纳芯微带你<b class='flag-5'>深入了解</b>!

    深入了解光伏逆变器测试系统

    的交流电(AC)。随着太阳能发电的广泛应用,确保光伏逆变器的可靠性和效率变得至关重要,这也使得光伏逆变器测试系统的作用愈发凸显。 一、光伏逆变器的工作原理 要深入理解光伏逆变器测试系统的必要性,首先需要了解逆变器的
    的头像 发表于 10-24 14:59 393次阅读
    <b class='flag-5'>深入了解</b>光伏逆变器测试系统

    深入了解PCI转XMC载板转接卡

    电子发烧友网站提供《深入了解PCI转XMC载板转接卡.docx》资料免费下载
    发表于 09-06 14:35 0次下载

    技术干货驿站 ▏深入理解C语言:掌握常量,让你的代码更加稳固高效!

    在C语言的世界中,常量是一种不可忽视的元素。无论你是在编写简单的代码,还是构建复杂的系统,常量都能为你的程序带来更高的稳定性和可靠性。在这篇文章中,我们将深入探讨C语言中的常量,从整数
    的头像 发表于 08-29 13:59 3191次阅读
    技术干货驿站 ▏<b class='flag-5'>深入</b>理解C语言:掌握<b class='flag-5'>常量</b>,让你的代码更加稳固高效!

    深入了解 MEMS 振荡器 温度补偿 MEMS 振荡器 TC-MO

    深入了解 MEMS 振荡器/温度补偿 MEMS 振荡器(TC-MO)-μPower MO1534/MO1569/MO1576/MO8021
    的头像 发表于 07-30 16:38 736次阅读
    <b class='flag-5'>深入了解</b> MEMS 振荡器 温度补偿 MEMS 振荡器 TC-MO

    技术干货驿站 ▏深入理解C语言:基本数据类型和变量

    在C语言中,数据类型和变量是编程的基础,也是理解更复杂概念的关键。数据类型决定了变量的内存分配、存储范围和操作方式,而变量则是存储数据的容器。本篇文章将从基本数据类型和变量两个方面,带
    的头像 发表于 07-26 17:53 2358次阅读
    技术干货驿站 ▏<b class='flag-5'>深入</b>理解C语言:基本数据类型和<b class='flag-5'>变量</b>

    深入了解表面贴装晶体谐振器DSX1210A

    深入了解表面贴装晶体谐振器DSX1210A
    的头像 发表于 07-25 14:27 556次阅读
    <b class='flag-5'>深入了解</b>表面贴装晶体谐振器DSX1210A

    深入了解恒温晶体振荡器DC5032AS

    深入了解恒温晶体振荡器DC5032AS
    的头像 发表于 07-25 10:37 418次阅读
    <b class='flag-5'>深入了解</b>恒温晶体振荡器DC5032AS

    小熊派官网正式上线 可深入了解小熊派的各款开发套件

    我们为每一款开发板打造一个开源社区,让每一位开发者都能在这里找到归属感和灵感。通过官网对硬件、软件、案例和教程的开源,大家可以深入了解小熊派的各款开发套件。
    的头像 发表于 06-13 08:42 1130次阅读
    小熊派官网正式上线 可<b class='flag-5'>深入了解</b>小熊派的各款开发套件

    深入了解IEEE协会:设备MAC地址申请指南

    在数字化浪潮中,设备之间的通信变得日益频繁和重要。而在这个通信网络中,每一台设备都需要一个独特的身份标识来帮助大家有效识别设备信息,那就是MAC地址。本篇内容,英利检测将带大家深入了解IEEE协会
    的头像 发表于 05-09 17:20 731次阅读
    <b class='flag-5'>深入了解</b>IEEE协会:设备MAC地址申请指南

    深入了解影响ZR执行器性能的关键因素

    深入了解影响ZR执行器性能的关键因素-速程精密 在工业自动化领域,ZR执行器作为关键的终端设备,其性能的稳定性对于整个自动化系统的运行至关重要。了解影响ZR执行器性能的因素有助于更好地维护和优化其
    的头像 发表于 03-20 15:04 634次阅读
    <b class='flag-5'>深入了解</b>影响ZR执行器性能的关键因素