Python 变量:创建、类型、命名规则和作用域详解
变量
变量是用于存储数据值的容器。
创建变量
Python没有用于声明变量的命令。
变量在您第一次为其分配值时被创建。
示例
x = 5
y = "John"
print(x)
print(y)
变量不需要声明为特定类型,并且甚至在设置后可以更改类型。
示例
x = 4 # x的类型为int
x = "Sally" # 现在x的类型是str
print(x)
类型转换
如果要指定变量的数据类型,可以使用类型转换。
示例
x = str(3) # x将变为'3'
y = int(3) # y将变为3
z = float(3) # z将变为3.0
获取类型
您可以使用type()函数获取变量的数据类型。
示例
x = 5
y = "John"
print(type(x))
print(type(y))
您将在本教程后面学到更多关于数据类型和类型转换的知识。
单引号还是双引号?
字符串变量可以使用单引号或双引号声明:
示例
x = "John"
# 与以下代码等效
x = 'John'
区分大小写
变量名区分大小写。
示例
这将创建两个不同的变量:
a = 4
A = "Sally"
# A不会覆盖a
变量名
变量可以具有短名称(如x和y)或更具描述性的名称(age、carname、total_volume)。Python变量的规则如下:
- 变量名必须以字母或下划线字符开头。
- 变量名不能以数字开头。
- 变量名只能包含字母数字字符和下划线(A-z、0-9和_)。
- 变量名区分大小写(age、Age和AGE是三个不同的变量)。
- 变量名不能是Python关键字。
示例
合法的变量名:
myvar = "John"
my_var = "John"
_my_var = "John"
myVar = "John"
MYVAR = "John"
myvar2 = "John"
示例
不合法的变量名:
2myvar = "John"
my-var = "John"
my var = "John"
请记住,变量名区分大小写。
多个单词的变量名
具有多个单词的变量名可能难以阅读。
有几种技巧可以使它们更易读:
驼峰命名法(Camel Case)
除第一个单词外,每个单词都以大写字母开头:
myVariableName = "John"
帕斯卡命名法(Pascal Case)
每个单词都以大写字母开头:
MyVariableName = "John"
蛇形命名法(Snake Case)
每个单词由下划线字符分隔:
my_variable_name = "John"
一次给多个变量赋值多个值
Python允许您在一行中为多个变量分配值:
示例
x, y, z = "Orange", "Banana", "Cherry"
print(x)
print(y)
print(z)
注意:确保变量的数量与值的数量相匹配,否则将会出错。
一个值分配给多个变量
您可以在一行中将相同的值分配给多个变量:
示例
x = y = z = "Orange"
print(x)
print(y)
print(z)
解包集合
如果您有一个列表、元组等集合中的值,Python允许您将这些值提取到变量中。这称为解包。
示例
解包一个列表:
fruits = ["apple", "banana", "cherry"]
x, y, z = fruits
print(x)
print(y)
print(z)
输出变量
Python的print()函数通常用于输出变量。
示例
x = "Python is awesome"
print(x)
在print()函数中,您可以输出多个变量,用逗号分隔:
示例
x = "Python"
y = "is"
z = "awesome"
print(x, y, z)
您还可以使用+运算符输出多个变量:
示例
x = "Python "
y = "is "
z = "awesome"
print(x + y + z)
请注意,在"Python "和"is "之后有空格字符,如果没有空格字符,结果将是"Pythonisawesome"。
对于数字,+字符作为数学运算符起作用:
示例
x = 5
y = 10
print(x + y)
在print()函数中,当您尝试使用+运算符将字符串和数字组合在一起时,Python会报错:
示例
x = 5
y = "John"
print(x + y)
在print()函数中输出多个变量的最佳方法是用逗号分隔它们,甚至支持不同的数据类型:
示例
x = 5
y = "John"
print(x, y)
全局变量
在函数之外创建的变量(如上面的所有示例)被称为全局变量。
全局变量可以被所有人使用,无论是在函数内部还是在函数外部。
示例
在函数之外创建一个变量,并在函数内部使用它:
x = "awesome"
def myfunc():
print("Python is " + x)
myfunc()
如果您在函数内部创建了一个具有相同名称的变量,这个变量将是局部的,只能在函数内部使用。具有相同名称的全局变量将保持不变,仍然是全局的,并具有原始值。
示例
在函数内部创建一个与全局变量同名的变量:
x = "awesome"
def myfunc():
x = "fantastic"
print("Python is " + x)
myfunc()
print("Python is " + x)
global关键字
通常,当您在函数内部创建一个变量时,该变量是局部的,只能在该函数内部使用。
要在函数内部创建一个全局变量,您可以使用global关键字。
示例
如果使用global关键字,变量属于全局范围:
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
此外,如果要在函数内部更改全局变量的值,也可以使用global关键字。
示例
要在函数内部更改全局变量的值,请使用global关键字引用该变量:
x = "awesome"
def myfunc():
global x
x = "fantastic"
myfunc()
print("Python is " + x)
最后
为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:
公众号搜索Let us Coding
,知乎,开源中国,CSDN,思否,掘金,InfoQ,简书,博客园,慕课,51CTO,helloworld,腾讯开发者社区,阿里开发者社区
看完如果觉得有帮助,欢迎点赞、收藏和关注