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

    浏览量

    24571
  • 字符
    +关注

    关注

    0

    文章

    237

    浏览量

    25730
  • python
    +关注

    关注

    56

    文章

    4838

    浏览量

    87993
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入了解连接器的分类与应用

    一、连接器的基本概念 连接器,就是一种电气或者光学的零组件,能让两条或者好几条电路、光路连一块。它一般是由插头和插座组成的,能让设备之间很快地连上、断开,再连上。这连接器怎么设计、有什么功能,主要得看使的地方、要传的信号是什么样的,还有一些物理特性,像阻抗啊、频率啊、耐用不耐用等。 二、连接器 的 分类 连接器能按照不一样的标准分成好多种,咱下面就说说几个主要的分法: 1. 按结构形式分 插头连接器:这就是设计成
    的头像 发表于 08-25 08:50 83次阅读

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

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

    基础篇3:掌握Python中的条件语句与循环

    Python编程语言中,条件语句和循环是构成复杂逻辑和数据处理的基石。本篇基础教程将帮助您深入了解Python中的条件语句和循环结构,让您能够更好地控制程序流程。 条件语句 条件语句允许程序根据
    发表于 07-03 16:13

    简单了解I2C接口

    在电子电路的复杂世界里,各种电路模块设备需要相互通信才能协同工作 ,I2C接口就像是电路模块设备间的沟通桥梁,今天就带大家深入了解它。
    的头像 发表于 05-08 14:15 1322次阅读
    简单<b class='flag-5'>了解</b>I2C接口

    深入了解气密性芯片封装,揭秘其背后的高科技

    在半导体技术日新月异的今天,芯片封装作为连接设计与制造的桥梁,其重要性日益凸显。而气密性芯片封装,作为封装技术中的一种高端形式,更是因其能够有效隔绝外界环境对芯片的干扰和损害,保障芯片性能与可靠性,而备受业界关注。本文将深入探讨气密性芯片封装的技术原理、应用场景、挑战与未来发展趋势。
    的头像 发表于 03-28 11:43 831次阅读
    <b class='flag-5'>深入了解</b>气密性芯片封装,揭秘其背后的高科技

    深入了解U8g2与LVGL图形库

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

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

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

    const定义的是不是常量

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

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

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

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

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

    深入了解Air201定位模块的电池问题!

    今天主要分享Air201电池相关问题,希望对大家的实际应用开发有所帮助。
    的头像 发表于 12-14 09:32 652次阅读
    <b class='flag-5'>深入了解</b>Air201定位模块的电池问题!

    对比Python与Java编程语言

    使得编写代码更加灵活,但也可能导致运行时错误。 Java 语法相对冗长,需要显式声明变量类型,增加了代码的可读性和安全性。 静态类型系统在编译时进行类型检查,减少了运行时错误。 二、性能 Python 解释型语言,运行速度通常比Java慢,但对于许多应用场景
    的头像 发表于 11-15 09:31 1477次阅读

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

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

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

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

    深入了解 Windows 系统 TCP/IP 参数配置

    ​Windows系统作为广泛使用的操作系统,正确地配置TCP/IP参数可以优化网络通信、提高数据传输效率、增强系统安全性,而错误的配置则可能导致网络故障、性能下降甚至安全漏洞。   TCP/IP协议概述 TCP/IP是一组用于实现计算机网络互联的通信协议。它包括了多个层次的协议,如网络接口层、网际层、传输层和应用层。其中,IP协议负责在网络中寻址和路由数据包,TCP协议则提供可靠的数据传输服务。TCP/IP参数配置主要涉及到对这些协议的各种参数进行调
    的头像 发表于 09-04 17:24 941次阅读