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

    浏览量

    24752
  • 字符
    +关注

    关注

    0

    文章

    237

    浏览量

    26050
  • python
    +关注

    关注

    57

    文章

    4856

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C语言的常量介绍

    在程序执行过程中,值不发生改变的量称为常量。 mtianyan: C语言的常量可以分为直接常量和符号常量。 直接常量也称为字面量,是可以
    发表于 11-24 07:12

    常用变量的介绍

    寄存器变量,一般较短的变量类型适合定义为寄存器变量,如short、char等; auto:c语言变量缺省存储类型就是auto typedef:给变量
    发表于 11-21 07:05

    深入了解X-ray自动设备的核心优势与应用领域

    。面对复杂多变的工业环境和严格的品质标准,企业如何借助自动化X射线检测设备优化生产流程、提升检测准确度?本文将围绕X-ray自动设备的核心优势与应用领域展开详尽解读,帮助您深入了解该技术带来的变革与价值。无论您是工厂质量管
    的头像 发表于 11-04 14:34 125次阅读

    深入了解API:详解应用程序接口的作用和原理

    都是不可或缺的组成部分。本文将深入探讨API的作用和原理,帮助读者更好地理解和应用API。 淘宝/天猫获得淘宝商品详情 API 返回值说明 公共参数 ​​前往测试​​ 名称 类型 必须 描述 key
    的头像 发表于 11-03 09:37 155次阅读

    深入了解X-ray无损探伤技术的核心优势与应用-智诚精展

    和安全性的要求日益提高,X-ray无损检测凭借其成像清晰、穿透力强、检测精度高等特点,成为无损检测领域的重要手段。本文将深入剖析X-ray无损探伤技术的核心优势及其实际应用场景,帮助相关企业和技术人员了解如何通过高效、精准的X
    的头像 发表于 10-24 11:18 215次阅读

    深入了解水质探头的工作原理与应用

    随着环保意识的不断增强和水资源管理需求的提升,水质监测成为各行业关注的焦点。特别是在工业生产、污水处理和饮用水安全领域,精准、实时的水质探测技术得到了快速发展。水质探头作为关键监测设备,因其高效、智能的检测能力,越来越受到行业青睐。根据最新市场报告,智能水质探头市场预计在未来五年内以年均超过12%的增长速度稳步扩大。您是否也在寻找一种能准确反映水体环境变化且便于维护的水质监测方案?本文将通过详细解读水质探
    的头像 发表于 10-23 14:00 183次阅读

    深入了解X-ray无损探伤技术的优势与应用领域

    的优势和实际应用领域了解不够。本文将深入探讨X-ray无损探伤技术的独特优势及其广泛的应用场景,帮助企业做出更明智的决策,提升自我品牌的信任度。 什么是X-ray无损探伤技术? X-ray无损探伤技术,顾名思义,是利用X射线对材料内部进行检查的
    的头像 发表于 09-16 14:59 548次阅读

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

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

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

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

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

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

    深入了解U8g2与LVGL图形库

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

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

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

    const定义的是不是常量

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

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

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

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

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