Python—变量
什么是变量?
通俗理解就是储存数据的空间的名字,比如购物车
定义并使用变量
1 # 苹果单价 元/斤 2 apple_price = 5.5 3 # 苹果重量 斤 4 apple_weight = 10 5 # 计算购买苹果的价格 6 all_price = apple_price * apple_weight 7 print('购买十斤苹果一共需要:', all_price, "元")
输出效果:
注:Python中一个“ = ”代表的是赋值,不是判断是否等于。
变量名 = 变量值
# 定义苹果的单价 元/斤 # 对变量apple_price赋值 5.5 apple_price = 5.5 # 苹果的重量 斤 apple_weight = 10 # 计算购买需要的金额 首先计算右边的结果再赋值给左边的变量 all_price = apple_price * apple_weight # 执行逻辑:先把变量值计算出来,再赋值给变量名 print("购买苹果的价格一共需要:",all_price,"元")
输出效果:
注:1、在Python当中,被单\双引号括起来的内容,我们称之为字符串
2、Python不会对字符串的输出进行处理
3、字符串和变量之间可以用 “ + ” 号拼接
变量命名的规范:
1、见名知意
2、如果有多个单词,用下划线链接。
3、不能用数字开头
4、变量名称由数字、字母(包括大写字母和小写字母)、下划线组成。最好使用英文,不要使用中文。
5、禁止使用关键字和函数名
(什么是关键字?就是Python的源代码的开发者,事先已经使用了的名字具有特殊含义,咱们不能在使用了)
Python关键字的查看方式
import keyword print(keyword.kwlist)
关键字:
['False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
注:变量只能先声明才能使用!
交换两个变量的值
a = 10 b = 5 # Python独有的方式 a,b = b,a print(a,b) # 添加一个中间变量交换值 c = 0 c = b b = a a = c print(a) print(b) # 不借助中间值 a = a + b b = a - b a = a - b print(a) print(b)
输出效果:
变量的运用
案例:根据苹果的单价和重量计算金额。
# 定义苹果的单价 元/斤 # 对变量apple_price赋值 5.5 apple_price = 5.5 # 苹果的重量 斤 apple_weight = 10 # 计算购买需要的金额 首先计算右边的结果再赋值给左边的变量 all_price = apple_price * apple_weight # 执行逻辑:先把变量值计算出来,再赋值给变量名 print("购买苹果的价格一共需要:",all_price,"元")
输出效果:
知识点:
1、变量首先计算右边(变量值)的结果,再赋值给左边(变量名)。
2、在Python中不同类型的值是不能用 + 号拼接
(例如案例中,"购买苹果的价格一共需要:"这个是字符串,all_price输出的是数值,两个不同类型,故无法用 + 号进行拼接,只能用逗号拼接,仅在Print当中使用)
3、print 升级用法:可以填入多种类型的数据,用逗号分隔开,这样可以将里面的内容一次性输出
当程序执行过程中,数据在内存中处理,也就是说,所有的数据在内存中都有自己的地址。
id()函数可以检测当前的数据在内存中的地址
代码示例:
# 定义一个变量 a = 10 # 解读:变量 a 保存了数据10在内存中的地址,当我们读取 a 时,就可以通过这个内存地址读取到10这个数据 print("全局变量 a 在内存中的地址为:",id(a)) # 在print函数中调用了id函数 # 定义函数 def test(num): print("{}在函数内部的内存地址是:{}".format(num,id(num))) # 定义另一个变量 result = "hello" print("函数的返回值的内存地址是:",id(result)) return result test(a) """ 输出结果: 全局变量 a 在内存中的地址为: 2259036826192 10在函数内部的内存地址是:2259036826192 函数的返回值的内存地址是: 2259042573168 """
变量本质上保存的是数据的内存地址,这个地址指向了数据在内存中的位置。
应用场景:
代码示例:
# 定义一个列表 a = [100] def test(num): num = num + num # 全局变量的值没有改变 print("函数内部的num的值:",num) test(a) print("全局变量 a 的值:",a) """ 输出结果: 函数内部的num的值: [100, 100] 全局变量 a 的值: [100] """ # 定义一个列表 b = [100] def test(num): num += num # 全局变量的值发生了改变 print("函数内部的num的值:",num) test(b) print("全局变量 b 的值:",b) """ 输出结果: 函数内部的num的值: [100, 100] 全局变量 b 的值: [100, 100] """
分析:
当使用num += num 时,全局变量的值发生了改变;
由于列表是可变的数据类型,+= 表示num指向谁,就对谁进行修改;当 a 传递进来的时候,a 是可变类型,则直接修改。
当使用num = num + num 时,全局变量的值没有改变;
等于号前面的num是一个新的变量,一个等于号是赋值的意思,要先执行等于号右边的结果,将我们的结果保存在内存中,此时,左边的局部变量指向这个值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)