要说 Python 里最基础的东西,那肯定得提 变量 了。变量,说白了,就是给数据起个名字。为啥要起名字?为了方便啊!想想你家猫,你不给它起个“咪咪”之类的名字,难道天天“喵喵喵”地叫?
在 Python 里,定义变量简直不要太简单。不像有些语言,还得先声明类型,告诉电脑“嘿,我要创建一个整数类型的变量,名字叫 age”。Python 完全不需要!直接 变量名 = 值
就行了。
比如说,你想表示你的年龄,可以这么写:
python
age = 30
就这么一行代码,age
这个变量就定义好了,而且它的值是 30。Python 会自动识别出 30 是一个整数,所以 age
也就成了整数类型的变量。是不是很方便?
再比如,你想存储你的名字:
python
name = "张三"
这里,”张三” 是一个字符串,所以 name
就成了字符串类型的变量。
变量命名,也是有讲究的,可不能随便乱来。虽然 Python 够灵活,但还是有些规则要遵守,不然它可要给你报错了。
首先,变量名只能包含字母、数字和下划线。不能有空格,不能有特殊字符,比如 @、#、$ 等等。你想起个变量名叫 my_age
,没问题;想起个变量名叫 my age
,那可不行。
其次,变量名不能以数字开头。1age
肯定是不行的,age1
倒是可以。
然后,变量名是区分大小写的。age
和 Age
是两个不同的变量。虽然你可能觉得这没啥,但写代码的时候,一不小心就容易搞混,所以最好还是养成良好的命名习惯。
再者,尽量避免使用 Python 的关键字作为变量名。Python 有一些保留字,比如 if
、else
、for
、while
等等,它们有特殊的用途,如果你用它们来命名变量,就会引起冲突。虽然有些情况下 Python 不会直接报错,但可能会导致你的代码行为变得非常奇怪,难以调试。
所以,起名字的时候,最好还是动动脑筋,起个有意义的名字。比如,你要存储学生的数量,用 student_count
就比用 x
、y
之类的要好得多。这样,别人看你的代码,也能一下子明白这个变量是干嘛的。
变量类型,Python 自己会判断,这就是动态类型语言的优势。不像 Java 或者 C++,你必须显式地声明变量的类型。Python 会根据你赋给变量的值,自动推断出变量的类型。
常用的变量类型有:
- 整数 (int):就是整数,比如 1、2、3、-10、100 等等。
- 浮点数 (float):就是带小数点的数,比如 3.14、2.718、-0.5 等等。
- 字符串 (str):就是一串字符,用引号括起来,比如 “hello”、”world”、”Python” 等等。单引号和双引号都可以,但要配对使用。
- 布尔值 (bool):只有两个值,
True
和False
,用来表示真和假。注意,首字母要大写。 - 列表 (list):就是一个有序的集合,可以包含任意类型的元素,用方括号括起来,元素之间用逗号分隔,比如
[1, 2, "hello", True]
。 - 元组 (tuple):和列表类似,也是一个有序的集合,但元组是不可变的,一旦创建就不能修改,用圆括号括起来,元素之间用逗号分隔,比如
(1, 2, "hello", True)
。 - 字典 (dict):就是一个键值对的集合,用花括号括起来,键和值之间用冒号分隔,键值对之间用逗号分隔,比如
{"name": "张三", "age": 30}
。 - 集合 (set):就是一个无序的、不重复的元素的集合,用花括号括起来,元素之间用逗号分隔,比如
{1, 2, 3}
。
你可以用 type()
函数来查看变量的类型:
“`python
age = 30
print(type(age)) # 输出
name = “张三”
print(type(name)) # 输出
“`
变量的值,是可以随时改变的。这和变量的另一个特性有关:可变性。你可以随时给变量赋一个新的值,而且新的值可以是不同的类型。
“`python
age = 30
print(age) # 输出 30
age = “三十岁”
print(age) # 输出 三十岁
“`
可以看到,age
最初是整数类型的变量,后来变成了字符串类型的变量。Python 不会报错,因为它允许你这样做。
变量的作用域,也是需要注意的。变量的作用域指的是变量在代码中的有效范围。在 Python 中,变量的作用域分为全局作用域和局部作用域。
全局作用域的变量,可以在整个程序中访问。局部作用域的变量,只能在特定的代码块中访问,比如函数或者循环。
如果在函数内部定义一个变量,那么这个变量就是局部变量。如果在函数外部定义一个变量,那么这个变量就是全局变量。
“`python
x = 10 # 全局变量
def my_function():
y = 20 # 局部变量
print(x) # 可以访问全局变量
print(y) # 可以访问局部变量
my_function()
print(x) # 可以访问全局变量
print(y) # 会报错,因为 y 是局部变量,不能在函数外部访问
“`
在函数内部,你可以访问全局变量,但不能修改全局变量的值,除非你使用 global
关键字来声明。
“`python
x = 10
def my_function():
global x # 声明 x 是全局变量
x = 20 # 修改全局变量的值
print(x)
my_function()
print(x) # 输出 20,全局变量的值被修改了
“`
总而言之,Python 的变量定义非常灵活,但也需要注意一些规则和细节。只有掌握了这些,才能写出清晰、易读、易维护的代码。别忘了,好的代码就像好的文章,让人赏心悦目。
评论(0)