Python 变量
本节课我向大家来介绍一下,Python变量以及Python变量的类型。
什么是变量?
开发程序就要和数据打交道 ,在运行程序的时候,数据是存储在计算机的内存中的,那么内存又是如何存储数据的呢?其实内存就像一块黑板,计算机把数据写入到内存,就相当于老师在黑板上写字 ,我们既可以写数字,也可以写汉字,但是计算机存储的数据可不是这样的,前面我们介绍过计算机,它只认识二进制,二进制它就是一串0和1,如下图所示:
那么我们在内存中是如何读取数据的呢?读这一堆0和1显然是非常不方便的。这时候就想到了一个方法:那就是用一个名字来指向这个数据,比如说前面的数字,我用一个名字number来指向它,而第2个我用motto来指向它 ,读取上面那条数据的时候,使用这个number,在读取下面那条数据的时候,就使用motto。这里的number和motto,他们就是一个名字,由我们自己来定义。变量就是简单的名字,是由我们自己来定义的,它可以用来关联或者说是指向内存中的数据。
模拟另一个场景:创建一个变量叫做message,然后我给它赋值一个hello,输出一下这个message,输出的结果就是hello这是为变量赋值。那么我们可不可以把这个已有的变量再赋值给一个其他的变量呢? 比如说我在这里创建一个变量叫做msg,然后我将这里的message,赋值给这个msg,输出一下这个msd,看一下它的结果也是hello。

可以这样理解,把变量比作是一个便利贴,如果我们将变量比作便利贴,那么这里有个值叫做hello,然后我将一个便利贴名字叫做message,贴到Hello这个值上,msg这个变量它也是一个便利贴同样他也提到了hello这个值上,也就是说message变量和msg变量,它们都指向Hello这个值,我们通过便利贴来找到具体的值,而这个便利贴就是我们的变量。

Python变量语法
在Python中,定义变量需要遵循以下语法:
变量名 = 值
其中,变量名是程序员自己定义的名字,值是要存储的数据。
- 变量名:程序员自己定义的名字,用于标识变量。
- 值:要存储的数据,可以是数字、字符串、列表、元组等。
- 数据类型:变量存储的数据类型,可以是整型、浮点型、布尔型、字符串型等。
变量命名规则
变量的名字是由我们自己定义的,但是你也不能随便定义,定义一个变量名,它是有规则的,下面我们就来看一下,哪些是有效的变量名,哪些是无效的变量名?

- 有效的变量名
- total_price,两个单词之间加下划线这是允许的
- 使用驼峰法也就是说第1个单词小写,第2个单词的首字母大写,这种方式也是允许的
- 使用下划线开头也是允许的
- 全大写
- 单词和数字混合是允许的
- 无效的变量名
- 两个单词之间使用中斜线的是不允许的
- 两个单词之间使用空格是不允许的
- 使用数字是不允许的
- 使用除了字母,数字和下划线以外的符号是不允许的
- 以数字开头是不允许的
总结:我们定义的变量名只能包含字母,数字和下划线,并且不能够以数字开头,此外这个变量名他还区分大小写,比如说大写的Price和小写的price是不一样的,它是两个变量。还有在命名变量名的时候,请不要使用a b c d这样毫无意义的字符串,我们应该尽量使用能够代表其意思的变量名,也就是见名知意 ,这样可以提高代码的可读性,还有尽量使用英文,不要使用拼音,因为这样看起来专业一点。
变量命名网站
不要小瞧了变量命名,因为计算机科学的两件难事就是缓存失效和命名。为变量起一个好的名字,可不是一件省心的事儿,一个具有误导性的名字,极有可能在项目中埋下一个很深的bug,那么对于英语不好的同学,这里为大家推荐一个网站(https://unbug.github.io/codelf/),它的名字叫做codelf
比如说我想为价格定一个变量名,我们可以在这里输入:“价格”。看一下他给我们推荐哪些?
上面这些都是他推荐的名字,我们可以在这里选择一些比较合适的名字,它推荐的这些名字都是在众多的项目中提取出来比较常用的名字,我们可以选择适合自己的名字,比如说这里price,就可以作为我们的商品价格,就像我们在命名的时候,就会有一个非常好的参考 。
为什么使用不同变量类型
本节课我向大家来介绍一下变量的类型。先来思考一下,我们为什么要使用不同类型的变量呢?来举一个生活中的例子:快递员在送快递的时候,这里有一个快递柜,而快递的商品有大有小,快递员会将大的商品放到比较大的快递柜里。而较小的商品放到小的快递柜里,否则你将一个小一点的商品放到一个大的快递柜里,那么大一点的商品就没有地方放了。这就导致了资源的浪费。我们的程序也是这样的,所以Python语言设计者,为了更好地的应用内存空间,提高程序运行效率就设计了多种类型变量。
Python的6种变量类型
Python中变量的类型是由为它赋值的数据所决定的。在Python中主要数据类型包括:
- 数字类型(Number)
- 布尔类型(Bool)
- 字符串型(Str)
- 列表类型(List)
- 元组类型(Tuple)
- 字典类型(Dictionary)
- 集合类型(Set)

Python数字类型
Python数值类型主要包括:int整形、Float浮点型、complex复数类型。我们将详细介绍Python数字类型的语法、参数和实例。
- 整数类型
整数是Python中最基本的数字类型之一。它可以是正数、负数或零。定义一个整数变量的语法如下:
x = 10
其中,x是变量名,10是整数值。我们可以使用type()函数来确定变量的数据类型:
x = 10
print(type(x)) # 输出:<class 'int'>
在Python中,整数类型还有一些特殊的参数,如下表所示:
| 参数 | 描述 |
|---|---|
| bin(x) | 将整数x转换为二进制字符串 |
| oct(x) | 将整数x转换为八进制字符串 |
| hex(x) | 将整数x转换为十六进制字符串 |
整数类型实例:
x = 10
print(bin(x)) # 输出:0b1010
print(oct(x)) # 输出:0o12
print(hex(x)) # 输出:0xa
- 浮点数类型
浮点数是Python中的一种数字类型,用于存储小数。定义一个浮点数变量的语法如下:
x = 3.14
其中,x是变量名,3.14是浮点数值。我们可以使用type()函数来确定变量的数据类型:
x = 3.14
print(type(x)) # 输出:<class 'float'>
在Python中,浮点数类型还有一些特殊的参数,如下表所示:
| 参数 | 描述 |
|---|---|
| round(x, n) | 将浮点数x四舍五入到小数点后n位 |
浮点数据类型实例:
x = 3.1415926
print(round(x, 2)) # 输出:3.14
- 复数类型
复数是Python中的一种数字类型,用于存储实部和虚部。定义一个复数变量的语法如下:
x = 3 + 4j
其中,x是变量名,3是实部,4j是虚部。我们可以使用type()函数来确定变量的数据类型:
x = 3 + 4j
print(type(x)) # 输出:<class 'complex'>
在Python中,复数类型还有一些特殊的参数,如下表所示:
| 参数 | 描述 |
|---|---|
| x.real | 返回复数x的实部 |
| x.imag | 返回复数x的虚部 |
| x.conjugate() | 返回复数x的共轭复数 |
复数类型实例:
x = 3 + 4j
print(x.real) # 输出:3.0
print(x.imag) # 输出:4.0
print(x.conjugate()) # 输出:(3-4j)
为了更好检测大家是否掌握改知识,我们提供了5个作业练习:
作业1:将整数10转换为二进制字符串。
作业2:将整数10转换为八进制字符串。
作业3:将整数10转换为十六进制字符串。
作业4:将浮点数3.1415926四舍五入到小数点后两位。
作业5:求复数3+4j的实部、虚部和共轭复数。
需要作业答案的小伙伴,请联系我们吧(大熊课堂 Python零基础入门动画课)
作业1:将整数10转换为二进制字符串。
x = 10
print(bin(x)) # 输出:0b1010
作业2:将整数10转换为八进制字符串。
x = 10
print(oct(x)) # 输出:0o12
作业3:将整数10转换为十六进制字符串。
x = 10
print(hex(x)) # 输出:0xa
作业4:将浮点数3.1415926四舍五入到小数点后两位。
x = 3.1415926
print(round(x, 2)) # 输出:3.14
作业5:求复数3+4j的实部、虚部和共轭复数。
x = 3 + 4j
print(x.real) # 输出:3.0
print(x.imag) # 输出:4.0
print(x.conjugate()) # 输出:(3-4j)
Python布尔类型
Python 布尔类型是一种表示真假值的数据类型,它只有两个取值:True(真)和False(假)。在 Python 中,布尔类型通常用于条件判断和逻辑运算。Python 中的布尔类型用关键字True和False表示,没有其他取值。可以使用type函数来检查变量的数据类型:
a = True
b = False
print(type(a)) # <class 'bool'>
print(type(b)) # <class 'bool'>
检测变量类型
那么我们要怎样检测一个数据的类型呢?提供两种方式对变量类型进行检测,第一种type函数,第二种isinstance函数,下面我就来看一下
| 函数 | 描述 | 不同 |
|---|---|---|
| type() | 检测数据类型 | type函数直接输出这个变量的类型 |
| isinstance() | 检测数据类型 | isinstance函数需要传递两个参数,是检查这个变量是否属于后面的数据类型,返回值是True或者False |
两种检测变量类型函数应用对比如下
- type()函数
type()函数主要用于获取一个对象的类型,它的语法格式为:
type(object)
其中,object参数表示要获取类型的对象。
下面是一个例子:
a = "Hello, World!"
print(type(a)) # 输出 <class 'str'>
在上面的例子中,我们使用type()函数获取了字符串类型的对象a的数据类型,输出结果为<class 'str'>。
- type函数检测数据类型示例
>>> price =10
>>> message ='hello'
>>> type(price)
<class 'int'>
>>> type(price)
<class 'str'>
>>> price1 =15.6
>>> type(price1)
<class 'float'>
- isinstance()函数
isinstance()函数用于判断一个对象是否是指定的类型(或者是其子类),它的语法格式为:
isinstance(object, classinfo)
其中,object参数表示要判断类型的对象,classinfo参数可以是一个类型(type)或一个类型元组(tuple)。
下面是一个例子:
a = "Hello, World!"
print(isinstance(a, str)) # 输出 True
在上面的例子中,我们使用isinstance()函数判断了字符串类型的对象a是否是字符串类型,输出结果为True。
- isinstance函数检测数据类型示例
>>> price =10
>>> isintance(price,int)
True
>>> isintance(price,str)
False
【大熊课堂精品课程】
Python零基础入门动画课: https://www.bilibili.com/cheese/play/ss7988
Django+Vue:全栈开发: https://www.bilibili.com/cheese/play/ss8134
PyQT6开发桌面软件: https://www.bilibili.com/cheese/play/ss12314
Python办公自动化: https://www.bilibili.com/cheese/play/ss14990
Cursor AI编程+MCP:零基础实战项目课: https://www.bilibili.com/cheese/play/ss105194189
Pandas数据分析实战: https://www.bilibili.com/cheese/play/ss734522035
AI大模型+Python小白应用实战: https://www.bilibili.com/cheese/play/ss3844