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

    浏览量

    24870
  • 字符
    +关注

    关注

    0

    文章

    237

    浏览量

    26273
  • python
    +关注

    关注

    58

    文章

    4884

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入了解LM5574评估板:设计、性能与应用

    深入了解LM5574评估板:设计、性能与应用 在电子设计领域,评估板是工程师们验证和评估芯片性能的重要工具。今天,我们就来详细探讨一下TI的LM5574评估板,看看它在电源转换方面的出色表现。 文件
    的头像 发表于 04-21 14:15 67次阅读

    深入了解LM3281评估板:功能、应用与使用注意事项

    深入了解LM3281评估板:功能、应用与使用注意事项 引言 在电子设计领域,高效、低噪声的电源管理方案对于许多应用至关重要,尤其是在为对噪声敏感的无线连接芯片组和射频前端模块(FEMs)供电
    的头像 发表于 04-20 09:30 75次阅读

    深入了解LM22670评估板:设计与应用指南

    深入了解LM22670评估板:设计与应用指南 作为电子工程师,我们在电源管理设计中常常会寻找高效、稳定的解决方案。TI的LM22670评估板就是这样一个值得关注的工具,它为我们展示了LM22670
    的头像 发表于 04-20 09:05 391次阅读

    深入了解FDD3672 N - Channel UltraFET® Trench MOSFET

    深入了解FDD3672 N-Channel UltraFET® Trench MOSFET 作为电子工程师,我们在设计电路时,对于MOSFET的选择至关重要。今天,我们就来详细探讨一下FDD3672
    的头像 发表于 04-17 16:20 75次阅读

    深入了解S124 MCU:特性、参数与应用考量

    深入了解S124 MCU:特性、参数与应用考量 引言 在当今电子设备小型化、低功耗的发展趋势下,微控制器(MCU)的性能和功能显得尤为重要。S124 MCU作为一款基于ARM® Cortex
    的头像 发表于 04-14 09:05 409次阅读

    深入了解BASIC Stamp:架构、指令与应用全解析

    深入了解BASIC Stamp:架构、指令与应用全解析 一、前言 大家好,作为一名电子工程师,在硬件设计开发的道路上,我们常常会遇到各种各样的微控制器。今天要和大家深入探讨的就是Parallax公司
    的头像 发表于 04-13 18:25 1077次阅读

    深入了解MAXQ2000低功耗LCD微控制器:特性、应用与设计要点

    深入了解MAXQ2000低功耗LCD微控制器:特性、应用与设计要点 在电子设计领域,低功耗、高性能的微控制器一直是工程师们追求的目标。MAXQ2000低功耗LCD微控制器凭借其独特的特性和广泛
    的头像 发表于 04-09 17:10 592次阅读

    深入了解Maxim产品命名规则

    深入了解Maxim产品命名规则 电子工程师在进行产品设计时,常常需要与各种不同的电子元件打交道。而熟悉这些元件的命名规则,对于我们准确选择和使用产品至关重要。今天,就让我们一起来详细了解Maxim
    的头像 发表于 04-02 14:55 179次阅读

    深入了解LM25066I/A:全方位的系统电源管理与保护方案

    深入了解LM25066I/A:全方位的系统电源管理与保护方案 在当前复杂的电子系统中,高效且可靠的电源管理与保护至关重要。Texas Instruments的LM25066I和LM25066IA作为
    的头像 发表于 02-28 11:20 245次阅读

    深入了解 LM4881 双声道 200mW 耳机放大器:特性、参数与应用设计

    深入了解 LM4881 双声道 200mW 耳机放大器:特性、参数与应用设计 在电子设备日新月异的今天,音频放大器作为众多设备中不可或缺的一部分,其性能和特点对整个系统的音效体验起着至关重要的作用
    的头像 发表于 02-04 16:50 923次阅读

    深入了解 S32K312EVB-Q172 开发板:硬件特性与使用指南

    深入了解 S32K312EVB-Q172 开发板:硬件特性与使用指南 在嵌入式开发领域,一款优秀的开发板能够极大地提升开发效率和项目的成功率。NXP 的 S32K312EVB-Q172 开发板就是
    的头像 发表于 12-25 09:30 385次阅读

    深入了解SRF7038A系列共模扼流圈

    深入了解SRF7038A系列共模扼流圈 在电子设计的领域中,共模扼流圈是解决电磁干扰(EMI)问题的关键元件之一。今天,我们就来详细探讨一下BOURNS的SRF7038A系列共模扼流圈,看看它有
    的头像 发表于 12-22 14:10 519次阅读

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

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

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

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

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

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