Loading...

文章背景图

🐍 零基础学Python:掌握“变量与常量”的魔法!

2026-05-07
3
-
- 分钟
|

大家好!欢迎来到我们的Python修炼之旅。

在编程的世界里,无论你想要创造多么复杂的程序,都要从最基础的元素开始。今天,我们要聊的就是Python中最核心、也最常用的概念——变量(Variables)与常量(Constants),并且带大家初探一下变量这个魔法盒子里到底能装些什么(数据类型)。

准备好了吗?让我们一起揭开它们的神秘面纱吧!✨

📦 1. 什么是变量?

想象一下,你搬进了一个新家,家里有很多没有标记的储物箱。你把一本书放进一个箱子里,如果不贴上标签,下次找起来肯定会让人抓狂。

在Python中,变量就像是贴在内存这个“大储物箱”上的标签

程序在执行过程中,需要在内存中分配空间来存放数据。为了方便我们找到和使用这些数据,我们就给这块内存地址起个名字,这个名字就是变量。之所以叫“变”量,是因为它的值在程序运行中是可以随时改变的。

简单来说:变量就是指向特定值的一个标签。

(看!就像这张图演示的一样,变量 a 就像一个标签,指向了内存中存放着 10 的那个小红盒子。)

✍️ 2. 变量的创建:简单粗暴!

在很多其他编程语言(比如C或Java)中,创建一个变量之前还要先“声明”它是什么类型,比如 int a = 10;

但是在优雅的Python中,不需要这些繁文缛节!变量不需要提前声明,直接赋值就能创建!

创建的魔法公式: 变量名 = 变量值

这里的等号(=)可不是数学里的“等于”,在编程里它叫赋值运算符。它负责把右边的值,塞进左边名字代表的盒子里。

# 让我们来点实际操作:
var1 = 2          # 嘿,我创建了一个叫var1的变量,里面装着数字2
var2 = 3          # 接着,创建了var2,里面装着3
result = var1 + var2  # 让它们相加,把结果放进新盒子 result 里!

print(result)     # 打印出来看看,输出结果: 5 

# 变量里面不仅能装数字,还能装文字和小数!
name = "张三"     # 装入字符串
age = 18          # 装入整数
weight = 80.5     # 装入浮点数(小数)

💡 进阶玩法:多变量同时创建 你想偷个懒?没问题,Python支持你:

# 多个变量赋予同一个值
var1 = var2 = var3 = 10 

# 多个变量赋予不同的值(非常优雅,对吧?)
var4, var5, var6 = 10, 20, 30 

🏷️ 3. 标识符命名规则:给变量起个好名字

在程序中,你可以自己命名的地方(比如变量名、函数名)都统称为标识符。 但是,起名字也是有规矩的,不能乱来!

🚨 绝对不能触碰的“红线”(命名规则):

  1. 只能包含字母、数字和下划线(_

  2. 绝对不能以数字开头!1name ❌, name1 ✅)

  3. 严格区分大小写。在Python眼里,Namename 是两个完全不同的变量!

  4. 不要和“关键字”撞衫

🛑 什么是关键字?

Python内部保留了一些具有特殊功能的单词,这就是关键字。它们是Python的“专属VIP”,你不能用它们来做变量名。

下面这张表就是Python的关键字合集,混个眼熟即可,不用死记硬背哦:

🎨 程序员的“审美”:命名规范

虽然拼音(比如 mima = "123")机器也能看懂,但这会被同行鄙视的(笑)。为了让代码既好看又专业,我们通常采用以下三种命名法:

  • 🐫 大驼峰命名法(UpperCamelCase):每个单词首字母都大写。如 UserName

  • 🐪 小驼峰命名法(lowerCamelCase):第一个单词首字母小写,后面的大写。如 userName

  • 🐍 蛇形命名法(snake_case):单词之间用下划线连接。如 user_name(强烈推荐!这是最Pythonic的风格!)

🔄 4. 变量的修改与神奇的“交换”

为什么叫“变”量?因为它可以随时改变!Python会始终记录变量的最新值

msg = "hello world"
print(msg)  # 输出: hello world

# 直接覆盖它!
msg = "hello Python!"
print(msg)  # 输出: hello Python!

🔥 高能预警:Python专属的变量交换技巧

假设你左手拿苹果(var1),右手拿香蕉(var2),你想把它们交换一下。在别的语言里,你可能需要第三只手(引入一个中间变量 temp)。 但在Python里,一行代码搞定,惊艳全场:

var1 = 2
var2 = 20
print(var1, var2)  # 交换前,输出: 2 20

# 见证奇迹的时刻 👇
var1, var2 = var2, var1

print(var1, var2)  # 交换后,输出: 20 2

(是不是酷毙了?!😎)

🗿 5. 常量:程序员的“君子协定”

聊完了善变的变量,我们来聊聊它的孪生兄弟——固执的常量(Constants)

在程序中,有些值是我们一旦设定就不希望再被修改的。比如圆周率 $\pi$、一天的小时数(24)、或者你网站的默认配置参数。如果这些值在程序运行中被意外修改,可能会导致灾难性的后果。

不过,我们要说一个Python的残酷事实:Python其实并没有真正的常量机制!

在C、Java等语言中,有专门的关键字(如 constfinal)来保护常量不被修改,一旦强行修改就会报错。但崇尚自由的Python并没有提供这种强制约束。

那怎么办?Python程序员们达成了一个默契的约定:把变量名的字母全部大写

当你看到一个全大写的变量名时,就是在强烈暗示大家:“这是一个常量,虽然代码层面上你能改掉我,但请你尊重我,千万别动我!

# 程序员之间的君子协定:全大写代表常量
PI = 3.1415926
MAX_CONNECTIONS = 1000
SYSTEM_VERSION = "v1.0.4"

# 强行修改虽然不会报错,但绝对不推荐!
# PI = 3  <-- 极其恶劣的代码行为,会被打手板的!

🗂️ 6. 变量里能装些什么?——初探数据类型

在前面我们说变量就像储物箱,既然是储物箱,里面装的东西自然分门别类。这就是编程里的数据类型

Python中最基础的几种类型包括:

  • 整型 (int):就是整数。Python的整型非常强大,不管你输入多么大的数字(比如 1_000_000_000_000_000),它永远会输出相应的数字,绝对不会出现其他语言里常见的“溢出”问题

  • 浮点型 (float):带小数点的数字,比如 2.180.5

  • 布尔型 (bool):只有两个值,True(真)或 False(假)。

🔍 探秘神兵利器:type()isinstance()

想知道储物箱里装的是什么类型的宝贝?你可以借助 Python 提供的内置“透视镜”:

num1 = 10
# 使用 type() 打印对象的类型
print(type(num1))  # 输出: <class 'int'>

num2 = True
print(type(num2))  # 输出: <class 'bool'>

# 使用 isinstance() 判断变量是不是特定的类型
print(isinstance(num1, int))   # 输出: True
print(isinstance(num2, bool))  # 输出: True
print(isinstance(num2, int))   # 输出: False (布尔值严格来说不是普通的整型)

📍 变量的“门牌号”:id() 函数

我们在第一节说过,变量指向内存中的一个地址。那么怎么拿到这个实际的地址呢?使用 id() 函数即可获取对象在内存中的地址:

num1 = 10
num2 = 10
print(id(num1)) # 输出一串数字地址,如:140722378893384
print(id(num2)) # 输出: 140722378893384 (地址与 num1 完全相同!)

💡 小贴士:你会发现 num1num2 的地址是一模一样的!为了节省内存,Python 默认会让相同的小整数指向同一个内存“盒子”。

但如果数字变得比较大:

num3 = 300
num4 = 300
print(id(num3)) # 输出地址如:2115682855216
print(id(num4)) # 输出地址如:2115682855472 (地址与 num3 不同了!)

你会发现它们的地址变得不一样了,这背后涉及到 Python 复杂的内存管理机制,我们以后再慢慢探索!

🎯 总结与练习

今天我们系统学习了编程中最基础的概念:

  1. 变量是贴在内存数据上的标签,随时可以改变最新值。

  2. 常量是用全大写字母表示的不应被改变的值,这是一种程序员间的契约精神。

  3. 数据类型决定了变量盒子里装的是整数 (int)、小数 (float) 还是真假 (bool),我们可以用 type()isinstance()id() 来窥探它们的秘密。

编程就像搭积木,变量与常量就是我们最核心的那块积木。

📝 课后小练习源码合集: 建议你自己打开编辑器,把下面的代码敲一遍,感受一下它们的魔力吧!

"""
    该案例演示了变量、常量与数据类型的完整使用过程
"""

# --- 1. 基础变量赋值与修改 ---
var1 = 10
var2 = 20
print("var1 + var2 = ", var1 + var2)  
# 输出: var1 + var2 =  30

# 优雅地交换变量
a, b = 100, 200
a, b = b, a
print("交换后:", a, b)  
# 输出: 交换后: 200 100

# --- 2. 认识常量 ---
GRAVITY = 9.8 
print("地球重力加速度常数是:", GRAVITY)  
# 输出: 地球重力加速度常数是: 9.8

# --- 3. 探索数据类型 ---
num_int = 1000000000000000  # Python不会溢出的大整数
is_python_fun = True

print("num_int 的类型是:", type(num_int))  
# 输出: num_int 的类型是: <class 'int'>

print("判断 is_python_fun 是否为布尔型:", isinstance(is_python_fun, bool))  
# 输出: 判断 is_python_fun 是否为布尔型: True

# 查看内存地址
x = 10
y = 10
print("x 的地址:", id(x))  
# 输出: x 的地址: 140722378893384 (注意:你电脑上运行的这串数字可能不同)

print("y 的地址:", id(y))  
# 输出: y 的地址: 140722378893384 (但一定和上面 x 的地址一模一样)

好啦,今天的分享就到这里。如果觉得有意思,别忘了点个赞!我们下期再见!🚀

评论交流

文章目录