Hexvork
Python第二讲——Python变量详解

Python第二讲——Python变量详解

上一篇文章把Python环境搭好了,这篇就来聊聊变量

今天就把变量的命名规则、赋值方法、数据类型和输入输出函数一次性讲清楚。

一、变量命名规则

1. 基本规则

Python对变量名的要求很严格,但是记住这几条就不会出错:

必须遵守的规则

  • 只能由字母、数字、下划线组成
  • 必须以字母或下划线开头,不能以数字开头
  • 大小写敏感Ballball 是两个完全不同的变量
  • 不能使用Python的关键字(比如 ifforclass 这些)

正确示例

name = "张三"
user_age = 18
_temp = 100
score2 = 95

错误示例

2name = "李四"      # ❌ 不能以数字开头
user-age = 18      # ❌ 不能用连字符
class = "一班"     # ❌ class是关键字

2. 命名建议

虽然 abc 这种变量名语法上没问题,但过几天你自己都不知道这些变量是干啥的。

最佳做法

  • 有意义的名称,直接反映变量用途
  • 多个单词用下划线连接(Python风格)
  • 避免用拼音,尽量用英文

对比一下

# 不推荐
a = 18
b = "张三"
c = 95.5

# 推荐
user_age = 18
user_name = "张三"
exam_score = 95.5

第二种写法一眼就能看懂每个变量是干什么的,维护起来省心多了。

3. 大小写的坑

这个坑新手特别容易踩:

Ball = "篮球"
ball = "足球"

print(Ball)  # 输出:篮球
print(ball)  # 输出:足球

Python会把 Ballball 当成两个完全不同的变量,所以命名时要保持一致,不然容易搞混。

二、变量赋值

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

只有两个值:TrueFalse,注意首字母大写:

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_nameget_score()
  • 常量:全大写+下划线,如 MAX_SIZEPI
  • 类名:大驼峰,如 UserInfoStudentScore

3. 注释的重要性

给复杂的变量加上注释,也就是 # ,方便以后维护:

# 用户年龄(单位:岁)
user_age = 18

# 考试成绩(满分100分)
exam_score = 95.5

总结

变量是Python编程的基础,掌握好这些知识点,后面学习会轻松很多。这篇文章希望对你学习Python有所帮助

人生苦短,我用Python