1.初识变量

编程本质就是通过一定的规则,去操纵数据,变量作为数据的载体,在程序中经常会被用到。与变量相联系的还有一个名词叫数据类型,我们可以举一个生活中的例子,来理解数据类型-变量-数据三者之间的关系



红色的1号杯子中装满了水,其中红色就代表数据类型,1号杯子就代表变量,而水就代表数据。蓝色的2号杯子装满了油,蓝色就代表数据类型,2号杯子还是代表变量,油代表数据。通过例子发现,变量类似于数据的容器,数据类型类似于变量的特征。

在python中如何表示上面的关系呢?python规定变量不需要声明数据类型,但是每个变量在使用前都必须赋值,根据变量所赋的值自动确定数据类型,变量赋值以后,该变量才会被创建。

我们在PyCharm的编辑区编写如下代码,来加强上面这句话的理解



这里的'water'是我们后期所介绍的字符串类型,92是我们后期所介绍的数字类型。

为了更好的理解,这里我们做个假设,假设python需要声明数据类型的话,这里的代码就要变成

字符串类型 cup1 = 'water'

数字类型 cup2 = 92

上面的这两行代码,我们可以解读为,我们声明了两个变量:

一个字符串类型的变量,变量名为cup1,变量cup1中装载着数据内容'water';

一个数字类型的变量,变量名为cup2,变量cup1中装载着数据内容92;


理解了上面的解读之后,我们抛开假设之后,用现在python的规定,**变量不需要声明数据类型,但是每个变量在使用前都必须赋值,根据变量所赋的值自动确定数据类型,变量赋值以后,该变量才会被创建。**

cup1 = 'water'

cup2 = 92

上面的这两行代码,我们可以将其运行过程解读为,我们声明了两个变量:

其中一个将'water'这个数据内容装载到了一个变量名为cup1的变量中,因为'water'这个数据内容为字符串类型,所以python自动将cup1的数据类型确定为了字符串类型。

其中一个将92这个数据内容装载到了一个变量名为cup2的变量中,因为92这个数据内容为数字类型,所以python自动将cup2的数据类型确定为了数字类型。

但是,经过程序运行,**结果上我们还是认为,我们声明了两个变量:**

一个字符串类型的变量,变量名为cup1,变量cup1中装载着数据内容'water';

一个数字类型的变量,变量名为cup2,变量cup1中装载着数据内容92;

2.更新变量

在介绍更新变量之前,我们之前学习过print函数的语法格式:print('想要输出的内容')或者print("想要输出的内容")

在我们初步学习了变量之后,我们可以再学习print函数的另一种语法格式:print(变量名),这种语法格式下,输出的是该变量所装载的内容

在清楚了上面的内容之后,我们将程序代码修改成如下所示



在上面的基础上,我们再进行代码的添加,看运行结果,如下所示



通过运行结果我们可以发现,第一次输出变量string是'hello world1',第二次输出变量string是'hello world2'。两次输出结果的不同,我们可以推导出此处发生了变量所装载的数据内容的更新。更新过程就是将string所装载数据内容'hello world1'变为了'hello world2',其动态更新如下所示:



那么是否能够发生数据类型的更新呢,我们再编写如下程序



通过运行结果我们可以发现,第一次输出的data是字符串类型的'hello world',第二次输出的data是数字类型的92,通过运行结果我们可以推出,变量的更新是可以发生在数据类型上的。其更新过程动态演示如下所示



经过上面的分析,我们可以发现,在程序中可随时修改变量的值,而python将始终记录变量的最新值。

3.命名变量

在python中使用变量,给变量命名时,需要遵守一些规则,违反这些规则将引发错误,所以请务必牢记下面有关变量的规则。

①变量名只能包含字母、数字和下划线。

②变量名可以字母或下划线开头,但不能以数字开头。合法命名string_1,但不能将其命名为1_string

③变量名不能包含空格,但可以使用下划线来分隔其中的单词。合法命名first_string,但变量名first string不可以

④变量名不能是python的关键字和函数名,如print

⑤慎用小写字母i和大写字母O,因为他们可能被人误以为数字1和0

⑥字母大小写问题,目前应使用小写字母来命名python,大写一般用于常量,虽然混用不会导致错误,但是为了让人更好的看懂咱们的代码,或者咱们更好的看懂其他人的代码,最好遵守一些“君子协议”

【python基础】变量的更多相关文章

  1. Python 基础 变量和数据类型

    python 数据类型 一,整数,可以出来任意大小的整数. 如 1, 100, -8080,0 等等. 二,浮点数,浮点数也可以被成为小数. 三,字符串,字符串是以'' 或"". ...

  2. 计算机基础,Python基础--变量以及简单的循环

    一.计算机基础 1.CPU 相当于人体的大脑,用于计算处理数据. 2.内存  用于存储数据,CPU从内存调用数据处理计算,运算速度很快. PS:问:既然在内存里的数据CPU运算速度快,为什么计算机不全 ...

  3. python 基础 ----- 变量

    ------  python注释 注释的作用:代码提示,运行时忽略不必要的代码 注释的三种方式: 1.“#” 单行注释 2.多行注释   三个单引号  和三个双引号都可以 注释的快捷键 Ctrl + ...

  4. python基础-变量运算符(3)

    一.注释 注释就是对代码的解释和说明.目的是为了让别人和自己很容易看懂.为了让别人一看就知道这段代码是做什么用的.正确的程序注释一般包括序言性注释和功能性注释.序言性注释的主要内容包括模块的接口.数据 ...

  5. python基础-----变量和简单数据类型

    初识变量 1.变量命名规则: a.字母 b.数字(不能开头) c.下划线 ps.硬性规定,命名必须是字母,数字,下划线,且不能以数字开头. 软性规则,以下划线分割 2.实例: a.写法: age_of ...

  6. python基础 - 变量与运算符

    变量与运算符 变量 定义一个变量 a = [1,2,3,4,5,6] print(a) # [1,2,3,4,5,6] 变量命名要求: 首字母不能是数字 只能包含字符数字下划线 不能是关键字 type ...

  7. python基础,变量,if语句

     一.python初识 python是一门 解释型弱类型编程语言. 特点: 简单.明确.优雅 二.python的解释器 CPython. 官方提供的. 内部使用c语言来实现 PyPy. 一次性把我们的 ...

  8. Python基础-变量作用域

    1.函数作用域介绍 函数作用域 Python中函数作用域分为4种情况: L:local,局部作用域,即函数中定义的变量: E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局 ...

  9. python基础-变量

    1.什么是变量? 其实就是给数据起个名字而已.在python中你不想要关心数据类型,因为在你赋值的时候它已经自己帮你识别了 2.创建变量时候会在内存中开辟一个空间,具体的细节不需要咱们关心,解释器会分 ...

  10. python基础——变量

    变量是只不过保留的内存位置用来存储值.这意味着,当创建一个变量,那么它在内存中保留一些空间. 根据一个变量的数据类型,解释器分配内存,并决定如何可以被存储在所保留的内存中.因此,通过分配不同的数据类型 ...

随机推荐

  1. Spring MVC的请求处理逻辑

    当大家了解了如何编写一个简单的Spring MVC程序后,大家心中应该会有一些好奇:这背后到底发生了什么? Spring MVC是怎么把这些功能串联起来的?我们只是写了一个控制器而已,HTTP请求是怎 ...

  2. CentOS 7下安装windows字体

    1.在日常生产中打开文件时发现中文乱码,考虑到编码或者是否有中文字体库,在CentOS 7中执行命令发现字体列表命令无效. 上图发现字体库都没安装,接下来就会简单说一下CentOS 7 中安装字体库和 ...

  3. 用ACDSee查看Office文档?No!有中文解决方案吗?暂未发现!

    看图软件选择 用过不少看图软件,20年前就觉得ACDSee实在太好用了,界面漂亮.速度快.格式多.体积小! 后来图像格式越来越丰富,ACDSee版本也越来越新,体积越来越大. 看图软件也越来越繁杂,免 ...

  4. 免费1年服务器,部署个ChatGPT专属网页版

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 白皮袄个免费1年服务器,部署个ChatGPT专属网页版! api.openai.com por ...

  5. CANN训练:模型推理时数据预处理方法及归一化参数计算

    摘要:在做基于Ascend CL模型推理时,通常使用的有OpenCV.AIPP.DVPP这三种方式,或者是它们的混合方式,本文比较了这三种方式的特点,并以Resnet50的pytorch模型为例,结合 ...

  6. 比memcpy还要快的内存拷贝,老哥了解一下?

    本文来自博客园,作者:T-BARBARIANS,转载请注明原文链接:https://www.cnblogs.com/t-bar/p/17262147.html 谢谢! 前言 朋友们有想过居然还有比me ...

  7. [Linux]Linux发展历程

    古人云,知其然知其所以然.马哲思想指导着我们,任何事物.问题,离不开:为什么(Why,事物从哪里来?).是什么(What,事物的定位?).怎么做(How,到哪里去?)的哲学3问. 继上个月算是相对彻底 ...

  8. homebrew 无法从 API 更新错误问题

    今天中午吃饭前,想看看有没有更新,于是打开终端模拟器(我用的是 WezTerm),brew update,结果更新出了点问题 大致情况就是我不能从 API 更新,这个特性是从 homebrew 进入 ...

  9. SMBMS超市管理系统(Javaweb项目)

    SMBMS超市管理系统(Javaweb项目) 项目环境 jdk 1.8.0_261 mysql 8.0.21 IDEA 2021.2.2 项目架构 数据库 项目源代码 filer 字符编码过滤器 pa ...

  10. ES日志存储以及备份压缩到COS

    导语 为了满足用户日益增长的日志存储大小,不影响用户的写入和查询性能.满足不同用户写入流量.同时用户日志长期保存,日志存储比较占用空间和成本.ES集群规格配置高,消耗资源和成本.我们基于Go语言设计了 ...