用Python进行AI数据分析进阶教程07:Python变量的定义与赋值


👉 欢迎订阅🔗
《用Python进行AI数据分析进阶教程》专栏
《AI大模型应用实践进阶教程》专栏
《Python编程知识集锦》专栏
《智能辅助驾驶》专栏
《工具软件及IT技术集锦》专栏


关键词 :Python、变量定义、赋值、动态类型、引用

概要 :本文介绍了Python中变量的定义与赋值机制。变量无需声明类型,赋值即定义,支持多种数据类型(如整数、浮点数、字符串、布尔值等)。Python是动态类型语言,变量类型由赋值决定,且可随时改变。变量存储的是对值的引用,而非实际值本身;当将一个变量赋值给另一个变量时,两者指向同一对象。对于可变对象(如列表、字典),修改其中一个变量会影响其他引用该对象的变量。文章还强调了变量命名规则、避免命名冲突及内存自动管理机制,并通过多个示例代码演示了变量的使用方式及注意事项。

在 Python 中,变量是用于存储数据值的标识符,通过变量名可以访问和操作存储在其中的数据。以下是关于 Python 变量的定义与赋值的概念、关键点、注意点以及示例说明:

1概念

1变量定义:在 Python 中,变量不需要事先声明其类型,当为一个名称赋值时,就创建了一个变量。

例如  x = 10 ,这里 x 就是一个变量, 10 是赋给它的值。

2变量赋值:将一个值赋给变量的过程,使用赋值运算符  = 。赋值运算符左边是变量名,右边是要赋给变量的值,可以是各种数据类型,如整数、浮点数、字符串等。

2、关键点

1动态类型:Python是动态类型语言,变量的类型由所赋的值决定,并且在程序运行过程中,变量的类型可以改变。

例如,先给变量  a  赋值为整数  5 ,之后又可以将其赋值为字符串  "hello" 。

2内存管理:Python 自动管理变量的内存分配和释放。当创建一个变量并赋值时,Python 会为值分配内存空间,并将变量与该内存地址关联;当变量被重新赋值或不再使用时,Python 会自动回收不再使用的内存。

3引用机制:变量存储的是对值的引用,而不是值本身。当将一个变量赋值给另一个变量时,实际上是复制了引用,两个变量会指向同一个值。

例如  a = [1, 2, 3] , b = a ,此时  a  和  b  都指向同一个列表对象。

3、注意点

1变量命名规则:变量名必须以字母或下划线开头,后面可以跟字母、数字或下划线,且不能使用 Python 中的关键字(如 if、for、while 等)作为变量名。例如, my_variable 是合法的变量名,而1var是不合法的。

2避免命名冲突:在较大的程序中,要注意避免不同作用域内的变量名冲突。例如,函数内部的局部变量和全局变量如果同名,可能会导致意外的结果。

3赋值的影响:对于可变对象(如列表、字典、集合),当通过一个变量修改对象的值时,由于其他引用同一对象的变量也指向该对象,所以这些变量的值也会相应改变。

例如,list1= [1, 2, 3] , list2=list1 , list1[0]=10 ,此时list2[0] 也会变为10 。

4、举例说明

1基本数据类型的变量定义与赋值:

Python

# 定义一个整型变量 num,并将其赋值为 10
num = 10
# 打印变量 num 的值以及它的数据类型
# type(num) 会返回 num 变量的数据类型,这里会输出 10 和 <class 'int'>
print(num, type(num))
# 定义一个浮点型变量 float_num,并将其赋值为 3.14
float_num = 3.14
# 打印变量 float_num 的值以及它的数据类型
# type(float_num) 会返回 float_num 变量的数据类型,这里会输出 3.14 和 <class 'float'>
print(float_num, type(float_num))
# 定义一个字符串变量 string,并将其赋值为 "Hello, Python!"
string = "Hello, Python!"
# 打印变量 string 的值以及它的数据类型
# type(string) 会返回 string 变量的数据类型,
# 这里会输出 "Hello, Python!" 和 <class 'str'>
print(string, type(string))
# 定义一个布尔型变量 flag,并将其赋值为 True
flag = True
# 打印变量 flag 的值以及它的数据类型
# type(flag) 会返回 flag 变量的数据类型,这里会输出 True 和 <class 'bool'>
print(flag, type(flag))

输出/打印结果:

Python

10 <class 'int'>                  # 输出 num 的值和数据类型
3.14 <class 'float'>              # 输出 float_num 的值和数据类型
Hello, Python! <class 'str'>      # 输出 string 的值和数据类型
True <class 'bool'>               # 输出 flag 的值和数据类型

2可变对象的变量赋值与引用:

Python

# 创建一个列表对象 list_a,列表中包含三个整数元素 1、2、3
list_a = [1, 2, 3]
# 将 list_a 赋值给 list_b
# 注意:在 Python 中,这只是让 list_b 指向了和 list_a 相同的列表对象,
# 而不是复制一份新的列表
list_b = list_a
# 修改 list_a 中索引为 0 的元素的值为 10
# 由于 list_a 和 list_b 指向同一个列表对象,
# 所以对 list_a 的修改也会反映在 list_b 上
list_a[0] = 10
# 打印 list_b# 因为 list_b 和 list_a 指向同一列表,
# 所以这里会输出修改后的列表 [10, 2, 3]
print(list_b)  
# 输出 [10, 2, 3]# 创建一个字典对象 dict_a,
# 包含两个键值对,'name' 对应 'Alice','age' 对应 25
dict_a = {'name': 'Alice', 'age': 25}
# 将 dict_a 赋值给 dict_b
# 同样,这只是让 dict_b 指向了和 dict_a 相同的字典对象,并非复制新字典
dict_b = dict_a
# 修改 dict_a 中键 'age' 对应的值为 26
# 由于 dict_a 和 dict_b 指向同一个字典对象,
# 对 dict_a 的修改也会体现在 dict_b 上
dict_a['age'] = 26
# 打印 dict_b# 因为 dict_b 和 dict_a 指向同一字典,
# 所以这里会输出修改后的字典 {'name': 'Alice', 'age': 26}
print(dict_b)  # 输出 {'name': 'Alice', 'age': 26}

输出/打印结果:

Python

[10, 2, 3]                           # 输出修改后的列表 list_b
{'name': 'Alice', 'age': 26}         # 输出修改后的字典 dict_b

3变量重新赋值与类型变化:

Python

# 定义一个变量 var,并将整数 5 赋值给它
# 在 Python 里,变量无需提前声明类型,可直接赋值
var = 5  # 打印变量 var 的值以及它的数据类型
# type(var) 会返回 var 变量当前的数据类型,这里会输出 5 和 <class 'int'>
print(var, type(var))
# 重新给变量 var 赋值
# 将字符串 "new value" 赋给 var,体现了 Python 变量类型的动态特性
# 即同一个变量可以在不同时刻存储不同类型的数据
var = "new value"
# 再次打印变量 var 的值以及它的数据类型
# 此时 var 存储的是字符串,会输出 "new value" 和 <class 'str'>
print(var, type(var))

输出/打印结果:

Python

5 <class 'int'>           # 输出 var 的初始值和数据类型
new value <class 'str'>   # 输出重新赋值后的 var 值和数据类型

通过以上内容,希望你能对Python变量的定义与赋值有更清晰的理解。

——The END——


🔗 欢迎订阅专栏

序号 专栏名称 说明
1 用Python进行AI数据分析进阶教程 《用Python进行AI数据分析进阶教程》专栏
2 AI大模型应用实践进阶教程 《AI大模型应用实践进阶教程》专栏
3 Python编程知识集锦 《Python编程知识集锦》专栏
4 智能辅助驾驶 《智能辅助驾驶》专栏
5 工具软件及IT技术集锦 《工具软件及IT技术集锦》专栏

👉 关注我 @理工男大辉郎 获取实时更新

欢迎关注、收藏或转发。
敬请关注 我的
微信搜索公众号:cnFuJH
CSDN博客:理工男大辉郎

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐