上一篇文章把Python环境搭好了,这篇就来聊聊变量。
今天就把变量的命名规则、赋值方法、数据类型和输入输出函数一次性讲清楚。
一、变量命名规则
1. 基本规则
Python对变量名的要求很严格,但是记住这几条就不会出错:
必须遵守的规则:
- 只能由字母、数字、下划线组成
- 必须以字母或下划线开头,不能以数字开头
- 大小写敏感:
Ball和ball是两个完全不同的变量 - 不能使用Python的关键字(比如
if、for、class这些)
正确示例:
name = "张三"
user_age = 18
_temp = 100
score2 = 95
错误示例:
2name = "李四" # ❌ 不能以数字开头
user-age = 18 # ❌ 不能用连字符
class = "一班" # ❌ class是关键字
2. 命名建议
虽然 a、b、c 这种变量名语法上没问题,但过几天你自己都不知道这些变量是干啥的。
最佳做法:
- 用有意义的名称,直接反映变量用途
- 多个单词用下划线连接(Python风格)
- 避免用拼音,尽量用英文
对比一下:
# 不推荐
a = 18
b = "张三"
c = 95.5
# 推荐
user_age = 18
user_name = "张三"
exam_score = 95.5
第二种写法一眼就能看懂每个变量是干什么的,维护起来省心多了。
3. 大小写的坑
这个坑新手特别容易踩:
Ball = "篮球"
ball = "足球"
print(Ball) # 输出:篮球
print(ball) # 输出:足球
Python会把 Ball 和 ball 当成两个完全不同的变量,所以命名时要保持一致,不然容易搞混。
二、变量赋值
1. 赋值符号
Python用 = 是给变量赋值,不是数学里的相等
age = 18 # 把18赋值给age
name = "小明" # 把"小明"赋值给name
2. 动态类型
Python的变量不需要提前声明类型,直接赋值就行,而且同一个变量可以随时改变类型:
x = 10 # x是整数
print(x) # 输出:10
x = "Hello" # x变成字符串
print(x) # 输出:Hello
这种灵活性很方便,但也要小心,别不小心把变量类型改错了。
3. 多重赋值
Python支持一次给多个变量赋值:
# 同时赋相同的值
a = b = c = 100
# 同时赋不同的值
name, age, score = "张三", 18, 95.5
这种写法在交换变量值的时候特别好用:
a, b = 10, 20
a, b = b, a # 交换a和b的值
print(a, b) # 输出:20 10
三、常用数据类型
Python有很多数据类型,这里先讲最常用的几个。
1. int
整数,没有小数点:
age = 18
count = -5
big_num = 1000000
2. float
带小数点的数字:
height = 175.5
pi = 3.14159
temperature = -10.5
3. str
文本内容,用引号括起来(单引号双引号都行):
name = "张三"
message = '你好,世界!'
address = """北京市
海淀区""" # 三引号可以写多行
4. bool
只有两个值:True 和 False,注意首字母大写:
is_student = True
has_passed = False
5. list
可以存放多个值,用方括号表示:
scores = [95, 87, 92, 88]
names = ["张三", "李四", "王五"]
mixed = [1, "Hello", 3.14, True] # 可以混合不同类型
四、type()函数
不确定变量是什么类型?用 type() 函数查一下:
age = 18
name = "张三"
score = 95.5
is_pass = True
numbers = [1, 2, 3]
print(type(age)) # 输出会显示<class 'int'>
print(type(name)) # 输出会显示<class 'str'>
print(type(score)) # 输出会显示<class 'float'>
print(type(is_pass)) # 输出会显示<class 'bool'>
print(type(numbers)) # 输出会显示<class 'list'>
这个函数在调试代码时特别有用,能快速定位类型错误。
五、类型转换函数
有时候需要把一种类型转成另一种类型,Python提供了几个转换函数:
1. int()
# str转int
num_str = "123"
num = int(num_str)
print(num) # 输出:123
# float转int(会直接截断小数部分)
pi = 3.14
num = int(pi)
print(num) # 输出:3
注意:字符串必须是纯数字才能转,不然会报错:
int("abc") # ❌ 报错:这是字母,你要把字母转成数字吗?
int("12.5") # ❌ 报错:带小数点了,建议转成float
2. float()
num_str = "3.14"
pi = float(num_str)
print(pi) # 输出:3.14
3. str()
age = 18
age_str = str(age)
print(age_str) # 输出:"18"
六、输入输出函数
1. input()
input() 函数会暂停程序,等待用户输入内容:
name = input("请输入你的名字:")
print("你好," + name)
重要提示:input() 返回的永远是字符串,即使用户输入的是数字:
age = input("请输入你的年龄:")
print(type(age)) # <class 'str'>
# 如果要当数字用,必须转换类型,下面是具体转int的方法
age = int(input("请输入你的年龄:"))
print(type(age)) # <class 'int'>
2. print()
print() 是最常用的输出函数,有几种用法:
基础用法:
print("Hello, World!")
输出多个值:
name = "张三"
age = 18
print("姓名:", name, "年龄:", age)
# 输出:姓名: 张三 年龄: 18
自定义分隔符:
print("A", "B", "C", sep="-")
# 输出:A-B-C
print("姓名:", name, "年龄:", age, sep="")
# 输出:姓名:张三年龄:18
sep="" 定义了逗号前后内容用什么字符隔开,上面示例中sep是空值,则逗号隔开前后内容无间隔
f-string格式化:
name = "张三"
age = 18
score = 95.5
print(f"姓名:{name},年龄:{age},成绩:{score}")
# 输出:姓名:张三,年龄:18,成绩:95.5
f-string是Python 3.6+的新特性,写起来简洁又直观,强烈推荐使用。
七、常见错误与解决
1. 变量未定义
print(name) # ❌ 哥们你还没定义name的参数是多少呢上来就print?
解决:使用变量前必须先赋值。
2. 类型不匹配
age = "18"
next_year = age + 1 # ❌ 你是要把字符串加1?
解决:先转换类型:
age = int("18")
next_year = age + 1 # ✅ 正确
3. 关键字冲突
class = "一班" # ❌ class在python中是关键字,换个其他的变量名即可
解决:换个变量名,比如 class_name。
4. 拼写错误
user_name = "张三"
print(username) # ❌ 你只定义了user_name的参数而没有定义username的参数,user_name≠username
解决:保持命名一致,建议用IDE的自动补全功能。
八、实用技巧
1. 查看所有关键字
不确定哪些是关键字?用这个方法查看:
import keyword
print(keyword.kwlist)
2. 变量命名规范
Python社区推荐的命名风格(PEP 8):
- 变量和函数:小写+下划线,如
user_name、get_score() - 常量:全大写+下划线,如
MAX_SIZE、PI - 类名:大驼峰,如
UserInfo、StudentScore
3. 注释的重要性
给复杂的变量加上注释,也就是 # ,方便以后维护:
# 用户年龄(单位:岁)
user_age = 18
# 考试成绩(满分100分)
exam_score = 95.5
总结
变量是Python编程的基础,掌握好这些知识点,后面学习会轻松很多。这篇文章希望对你学习Python有所帮助
人生苦短,我用Python