Python 变量

Python 没有用来声明变量的关键字,Python 变量直接在赋值语句种创建。本文整理了变量的创建、解包赋值、变量名的命名规则、全局变量等内容。

Python 没有用来声明变量的关键字,Python 变量直接在赋值语句种创建。本文整理了变量的创建、解包赋值、变量名的命名规则、全局变量等内容。

创建变量

Python 没有用来声明变量的关键字,Python 变量直接在赋值语句种创建。

x = 5
y = "John"
print(x)
print(y)

创建变量时不需要指定变量的类型,只需直接赋值。还可以随时通过赋值修改变量的类型。

x = 4       # x 是一个整数
x = "Sally" # x 是一个字符串
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)) # 输出 <class 'int'>
print(type(y)) # 输出 <class 'str'>

您可以在 Python 数据类型章节了解更多的信息。

单引号还是双引号?

字符串即可以使用单引号,也可以使用双引号。

x = "John"
x = 'John'

区分大小写

变量名区分大小写。

以下例子种 aA 是两个不同的变量。

a = 4
A = "Sally"

变量名规则

Python 变量名的书写规则:

  • 变量名必须以字母或下划线字符开头
  • 变量名不能以数字开头
  • 变量名称只能包含字母数字字符和下划线(A-Za-z0-9_
  • 变量名区分大小写(ageAgeAGE 是三个不同的变量)

合法变量名:

myvar = "John"
my_var = "John"
_my_var = "John"
myVar = "John"
MYVAR = "John"
myvar2 = "John"

非法变量名:

2myvar = "John"
my-var = "John"
my var = "John"

如果一个变量名中包含了多个单词,为了让变量名更容易阅读,可以采用以下几种命名方法:

  • 小驼峰命名法

    小驼峰命名法中除了第一个单词外,每个单词都以大写字母开头:

    myVariableName = "John"
    
  • 大驼峰命名法,又称帕斯卡命名法

    大驼峰命名法中的每个单词都以大写字母开头。

    MyVariableName = "John"
    
  • 蛇式命名法

    蛇式命名法中的每个单词由下划线字符分隔。

    my_variable_name = "John"
    

多变量同时赋值

Python 允许在一行中为多个变量赋值:

x, y, z = "Orange", "Banana", "Cherry"
print(x) # 输出 Orange
print(y) # 输出 Banana
print(z) # 输出 Cherry

**注意:**确保变量的数量与值的数量相匹配,否则你会得到一个错误。

您可以在一行中为多个变量分配相同的值:

x = y = z = "Orange"
print(x) # 输出 Orange
print(y) # 输出 Orange
print(z) # 输出 Orange

解包赋值

如果您在列表、元组等中有一组值,解包赋值允许您将集合中的值提取到一组变量中。

解包赋值示例:

fruits = ["apple", "banana", "cherry"]
(x, y, z) = fruits
print(x) # 输出 apple
print(y) # 输出 banana
print(z) # 输出 cherry

或者使用括号将多个变量包围起来:

fruits = ["apple", "banana", "cherry"]
(x, y, z) = fruits
print(x) # 输出 apple
print(y) # 输出 banana
print(z) # 输出 cherry

可以跳转到 Python 解包元组章节中了解有关解包的更多信息。

输出变量

Python print 函数通常用于输出变量到控制台中。

x = "awesome"
print("Python is " + x) # 输出 Python is awesome

上例中的 + 用于字符串拼接。

全局变量

在函数外部创建的变量(如上述所有示例中所示)称为全局变量。

全局变量可以用在任何地方,无论是在函数内部还是外部。

在函数外部创建一个变量,并在函数内部使用它:

x = "awesome"

def myfunc():
  print("Python is " + x)

myfunc() # 输出 Python is awesome

如果在函数内部创建同名变量,函数内部的变量是局部变量,只能在函数内部使用。对函数内部变量的任何操作不会影响全局变量。

在函数内部创建一个变量,与全局变量同名:

x = "awesome"

def myfunc():
  x = "fantastic"
  print("Python is " + x)

myfunc() # 输出 Python is fantastic

print("Python is " + x) # 输出 Python is awesome

global 关键字

通常,当您在函数内部创建变量时,变量是局部的,并且只能在函数内部使用。

如果要在函数内创建全局变量,可以使用 global 关键字,使用 global 声明的变量,就变成了全局变量。

如果使用 global 关键字,则变量属于全局作用域:

def myfunc():
  global x
  x = "fantastic"

myfunc()

print("Python is " + x) # 输出 Python is fantastic

如果要在函数内更改全局变量,请先使用 global 关键字引用全局变量。使用 global 引用了全局变量后,就可以在函数内部对全局变量随意更改。

使用 global 关键字引用全局变量:

x = "awesome"

def myfunc():
  global x
  x = "fantastic"

myfunc()

print("Python is " + x) # 输出 Python is fantastic