pin_drop当前位置:知识文库 ❯ 图文
Python变量与命名规则
概述
变量是程序中用于存储数据的容器。在Python中,变量不需要声明类型,赋值即创建,这使得Python的变量使用非常灵活和简洁。本节将详细介绍变量的定义、赋值方式、命名规则以及常见的命名风格,帮助你规范地使用变量。
变量定义
在Python中,变量通过赋值操作来创建。当你给一个名称赋值时,Python会自动创建该变量并确定其类型。
基本定义
代码示例
name = "Alice"
age = 25
height = 1.68
is_student = True上述代码创建了四个变量:
-
name:字符串类型
-
age:整数类型
-
height:浮点数类型
-
is_student:布尔类型
动态类型
Python是动态类型语言,变量的类型可以随时改变:
代码示例
x = 10
print(type(x))
x = "Hello"
print(type(x))
x = 3.14
print(type(x))输出:
代码示例
<class 'int'>
<class 'str'>
<class 'float'>提示:Python变量的类型由其存储的值决定,同一个变量可以被赋予不同类型的值。
变量赋值
基本赋值
使用等号=进行赋值:
代码示例
x = 100
message = "Hello Python"重新赋值
变量可以被重新赋值,新值会覆盖旧值:
代码示例
score = 80
print(score)
score = 95
print(score)链式赋值
将同一个值赋给多个变量:
代码示例
a = b = c = 0
print(a, b, c)交换变量
Python支持优雅的变量交换方式,不需要临时变量:
代码示例
x = 10
y = 20
x, y = y, x
print(x, y)多重赋值
多重赋值(也称为解包赋值)允许在一行中为多个变量分别赋不同的值。
基本多重赋值
代码示例
x, y, z = 1, 2, 3
print(x, y, z)从列表/元组解包
代码示例
coordinates = [100, 200]
x, y = coordinates
print(f"x={x}, y={y}")从字符串解包
代码示例
a, b, c = "ABC"
print(a, b, c)扩展解包
使用*运算符收集多余的元素:
代码示例
first, *rest = [1, 2, 3, 4, 5]
print(first)
print(rest)
*beginning, last = [1, 2, 3, 4, 5]
print(beginning)
print(last)
head, *middle, tail = [1, 2, 3, 4, 5]
print(head)
print(middle)
print(tail)命名规则
Python变量的命名必须遵循以下规则:
强制规则
代码示例
my_name = "Alice"
_age = 25
score1 = 100
score2 = 95以下命名是非法的:
代码示例
2name = "Alice"
my-name = "Bob"
my name = "Charlie"
class = "Math"命名风格
除了必须遵守的命名规则外,Python社区还有一些约定俗成的命名风格,遵循这些风格可以让代码更加规范和易读。
蛇形命名法(Snake Case)
Python推荐使用蛇形命名法(又称下划线命名法),即单词之间用下划线连接,所有字母小写:
代码示例
student_name = "Alice"
max_score = 100
is_valid = True
total_count = 50提示:PEP 8规范推荐:变量名和函数名使用蛇形命名法。
驼峰命名法(Camel Case)
驼峰命名法分为大驼峰和小驼峰:
大驼峰(Pascal Case):每个单词首字母大写,Python中用于类名:
代码示例
class StudentInfo:
pass
class DataProcessor:
pass小驼峰(camelCase):第一个单词首字母小写,后续单词首字母大写,Python中较少使用:
代码示例
studentName = "Alice"
maxScore = 100常量命名
常量使用全大写字母,单词之间用下划线连接:
代码示例
MAX_SIZE = 100
PI = 3.14159
DEFAULT_COLOR = "white"特殊命名
命名风格对比
代码示例
示例1:变量基本操作
代码示例
name = "张三"
age = 25
height = 1.75
is_employed = True
print(f"姓名: {name}")
print(f"年龄: {age}")
print(f"身高: {height}m")
print(f"在职: {is_employed}")示例2:多重赋值与交换
代码示例
x, y, z = 10, 20, 30
print(f"x={x}, y={y}, z={z}")
x, y = y, x
print(f"交换后: x={x}, y={y}")
a = b = c = 100
print(f"a={a}, b={b}, c={c}")示例3:常量与命名规范
代码示例
PI = 3.14159
MAX_RETRIES = 3
DEFAULT_TIMEOUT = 30
radius = 5
area = PI * radius ** 2
print(f"圆的面积: {area}")
circumference = 2 * PI * radius
print(f"圆的周长: {circumference}")示例4:扩展解包
代码示例
scores = [95, 87, 92, 78, 88, 91, 85]
first, *rest = scores
print(f"第一个成绩: {first}")
print(f"其余成绩: {rest}")
*all_except_last, last = scores
print(f"最后一个成绩: {last}")
head, *middle, tail = scores
print(f"第一个: {head}, 中间: {middle}, 最后: {tail}")注意事项
注意:先赋值后使用——变量必须先赋值才能使用,否则会引发
NameError。
注意:避免使用内置函数名——不要用
list、str、int、sum等内置函数名作为变量名,这会覆盖内置函数。
注意:命名要有意义——变量名应能表达其存储数据的含义,避免使用
a、b、c等无意义名称(简单循环除外)。
注意:区分大小写——
Name和name是两个不同的变量,注意不要混淆。
注意:常量约定——Python没有真正的常量机制,全大写命名只是约定,技术上仍可修改。
小结
本节我们学习了:
-
变量定义:Python变量通过赋值创建,无需声明类型
-
变量赋值:基本赋值、链式赋值、变量交换
-
多重赋值:一行代码为多个变量赋值,支持解包和扩展解包
-
命名规则:只能包含字母、数字和下划线,不能以数字开头,不能使用关键字
-
命名风格:变量用蛇形命名,类用大驼峰,常量用全大写
规范的变量命名是编写可读代码的基础,养成良好命名习惯将使你的代码更专业。
练习题
练习1
以下哪些变量名是合法的?哪些是不合法的?请说明原因。
代码示例
my_name, 2nd_place, _private, class, studentAge, my-var, MAX_SIZE, __init__, 123, hello_world练习2
使用多重赋值和解包,将元组(100, 200, 300, 400, 500)中的值分别赋给变量first、middle和last,其中middle接收中间三个值。然后打印三个变量的值。
常见问题
Python中的变量需要先声明类型吗?
不需要。Python是动态类型语言,变量通过赋值自动创建,类型由存储的值决定,无需提前声明。
Python变量命名有哪些必须遵守的规则?
变量名只能包含字母、数字和下划线;不能以数字开头;不能使用Python关键字(如class、if、for等);变量名区分大小写。
如何在一行代码中交换两个变量的值?
Python支持元组解包方式交换变量,语法为x, y = y, x,无需使用临时变量。
蛇形命名法和驼峰命名法有什么区别?
蛇形命名法(snake_case)用下划线连接单词,全部小写,是Python变量和函数的推荐风格。驼峰命名法分为大驼峰(PascalCase,每个单词首字母大写,用于类名)和小驼峰(camelCase,首单词小写后续首字母大写,Python中较少使用)。
什么是扩展解包?如何使用星号运算符?
扩展解包使用*运算符收集多余的元素为列表。例如first, *rest = [1, 2, 3, 4, 5]中,first为1,rest为[2, 3, 4, 5]。星号可以放在任意位置。
本文涉及AI创作
内容由AI创作,请仔细甄别