首页 > 编程语言 >【python基础】变量

【python基础】变量

时间:2023-05-26 20:45:28浏览次数:55  
标签:变量 python 基础 数据类型 water cup1 92

1.初识变量

编程本质就是通过一定的规则,去操纵数据,变量作为数据的载体,在程序中经常会被用到。与变量相联系的还有一个名词叫数据类型,我们可以举一个生活中的例子,来理解数据类型-变量-数据三者之间的关系
image
红色的1号杯子中装满了水,其中红色就代表数据类型,1号杯子就代表变量,而水就代表数据。蓝色的2号杯子装满了油,蓝色就代表数据类型,2号杯子还是代表变量,油代表数据。通过例子发现,变量类似于数据的容器,数据类型类似于变量的特征。
在python中如何表示上面的关系呢?python规定变量不需要声明数据类型,但是每个变量在使用前都必须赋值,根据变量所赋的值自动确定数据类型,变量赋值以后,该变量才会被创建。
我们在PyCharm的编辑区编写如下代码,来加强上面这句话的理解
image
这里的'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(变量名),这种语法格式下,输出的是该变量所装载的内容
在清楚了上面的内容之后,我们将程序代码修改成如下所示
image
在上面的基础上,我们再进行代码的添加,看运行结果,如下所示
image
通过运行结果我们可以发现,第一次输出变量string是'hello world1',第二次输出变量string是'hello world2'。两次输出结果的不同,我们可以推导出此处发生了变量所装载的数据内容的更新。更新过程就是将string所装载数据内容'hello world1'变为了'hello world2',其动态更新如下所示:
image
那么是否能够发生数据类型的更新呢,我们再编写如下程序
image
通过运行结果我们可以发现,第一次输出的data是字符串类型的'hello world',第二次输出的data是数字类型的92,通过运行结果我们可以推出,变量的更新是可以发生在数据类型上的。其更新过程动态演示如下所示
image
经过上面的分析,我们可以发现,在程序中可随时修改变量的值,而python将始终记录变量的最新值。

3.命名变量

在python中使用变量,给变量命名时,需要遵守一些规则,违反这些规则将引发错误,所以请务必牢记下面有关变量的规则。
①变量名只能包含字母、数字和下划线。
②变量名可以字母或下划线开头,但不能以数字开头。合法命名string_1,但不能将其命名为1_string
③变量名不能包含空格,但可以使用下划线来分隔其中的单词。合法命名first_string,但变量名first string不可以
④变量名不能是python的关键字和函数名,如print
⑤慎用小写字母i和大写字母O,因为他们可能被人误以为数字1和0
⑥字母大小写问题,目前应使用小写字母来命名python,大写一般用于常量,虽然混用不会导致错误,但是为了让人更好的看懂咱们的代码,或者咱们更好的看懂其他人的代码,最好遵守一些“君子协议”

标签:变量,python,基础,数据类型,water,cup1,92
From: https://www.cnblogs.com/lbprogram/p/17435647.html

相关文章

  • 使用 OpenCV 进行轮廓检测 (Python/C++)第一部分
    什么是轮廓当我们连接一个对象边界上的所有点时,我们得到一个轮廓。通常,特定轮廓是指具有相同颜色和强度的边界像素。OpenCV使得在图像中查找和绘制轮廓变得非常容易。它提供了两个简单的功能:findContours()drawContours()此外,它有两种不同的轮廓检测算法:CHAIN_APPROX_SIMPLECHAIN_......
  • C++类的基础、构造、析构
    双向链表节点——具体的表表里面要维护什么是由你自己来决定的以链表为例讲解为什么需要类用户修改了你的链表,暴露给所有人创建和销毁,忘记了,内存泄漏冗长的名字封装分离实现细节和接口一定要把细节private接口public接口修改调用我们是知道的......
  • Python Web开发:深入剖析Web框架及其实现方式
    1.引言在现代Web应用程序开发中,Python是最受欢迎的编程语言之一。它是一种高级、通用、解释性的语言,被广泛应用于开发Web应用程序、科学计算、数据分析、视觉化和人工智能等领域。Python语言旨在提高开发者的生产力,并让他们以更少的代码实现更多的功能。在本文中,我们将讨论Python......
  • 自动化测试-基础知识—Bash基础
    Bash在Bash中,美元符号$可以用于引用变量或者表达式的值。Bash中的变量并不需要事先声明,而是在第一次赋值时自动创建。基于这个特性,我们可以通过给变量名加上$的方式来引用它的值,比如$var表示引用变量var的值。在Bash中,使用$还有其他一些常见的用法,例如:$0:表示执......
  • Numpy_矩阵的multiply_python的属性以及类特性_装饰器——@property_@classmethod_@st
    Python类中有三个常用的装饰器分别是@property(使一个方法可以被当成属性调用,常用于直接返回某一不想被修改的属性)@classmethod(将一个方法定义为类方法,其中第一个参数要修改为cls,使得该方法可以不用实例化即可被调用)@staticmethod(静态方法,类似于类方法,也可以不用实例化,......
  • python操作mysql数据pymysql-执行语句select查询返回值直接返回dict字典类型或者list
    一、返回tuple元组类型(默认)fetchall()将结果放在二维数组里面,每一行的结果在元组里面importpymysqldefexport(table_name):conn=pymysql.connect(host='118.24.3.40',user='jxz',password='123456',db......
  • python基础day12 函数的参数
    函数参数的两大分类1.形式参数在函数定义阶段括号内一次写入的变量名就叫形式参数,简称“形参”defindex(a,b,c,d)pass#a,b,c,d就称之为是函数的形参2.实际参数在函数调用阶段括号内一次传入的变量值就叫实际参数,简称“实参”index(1,2,3,4)#1,2,3,4就称之为......
  • 基础数据结构方法汇总
    字符串方法:mystr.capitalize()第一个字符转换为大写,其它都转为小写(本来的大写字母也转为小写)"abCd"-->Abcd 列表方法:lst.count(obj)lst.append(obj)lst.extend(obj)lst.index(obj)元素obj不存在,则会引发ValueError异常lst.insert(下标,obj)如果下标不存在,则会插......
  • python中re正则一些用法及其常用正则表达式
    re.findall(pattern,string[,flags])re.findall(pattern,string[,flags])是Pythonre模块中的函数,用于在字符串中查找所有与正则表达式模式匹配的非重叠子字符串,并将它们作为列表返回。具体参数解释如下:pattern:一个正则表达式模式,用于指定要匹配的模式。string:要在其......
  • python flask 启动报错 'utf-8' codec can't decode byte 0xb2 in position 4: invali
    原因:在python下lib文件夹里的socket.py文件中的name=gethostname()代码执行获取本机电脑名称时,遇到中文导致乱码报错。解决方法:    1.将电脑“设备名称”中中文改为英文;    2.修改socket.py代码,如下(参考https://blog.csdn.net/weixin_46342884/article/detail......