跳至主要内容

Python 中的变量

Variables in Python

变量在 Python 中发挥着至关重要的作用,因为它们提供了一种在整个程序中存储和操作数据的方式。通过向变量分配值,我们可以轻松地引用和更新数据,从而使我们的代码更高效且更具可读性。总体而言,变量是 Python 编程中的一个基本概念,对于任何类型的数据操作和分析都是必不可少的。让我们详细回顾一下这个主题。

变量定义

让我们定义 Python 中的变量是什么。它是计算机内存中一个已命名的位置,用于存储值。它就像一个可以容纳不同类型数据的容器,例如数字、字符串或 布尔值

要在 Python 中创建变量,你需要给它一个名称,并使用赋值运算符 = 为它分配一个值。

变量命名约定

在 Python 中,变量名称区分大小写,可以是字母、数字和下划线的任意组合。但是,Python 中有指导原则和变量命名约定,可以使你的代码更具可读性和可维护性

  • 为变量名称使用小写字母。在 Python 中,惯例是为变量名称使用小写字母。
  • 使用下划线分隔变量名称中的单词。如果变量名称由多个单词组成,请使用下划线分隔它们。例如,first_name 是一个比 firstname 更好的变量名称
  • 避免使用保留关键字。Python 有保留关键字,在语言中具有特殊含义,例如 ifelsewhilefor。避免将这些关键字用作变量名称。
  • 为变量使用描述性名称。选择反映变量用途的描述性名称。例如,count 是一个比 c 更好的变量名称
  • 为变量名称使用单数名词。例如,student 是一个比 students 更好的变量名称。
  • 在你的代码中和整个团队中保持命名约定的一致性。

以下是 Python 中一些好的变量名称示例

first_name
last_name
age
is_student
num_of_courses

请记住,良好的变量命名约定不仅可以帮助你设置有效的变量名称,还可以使你的代码更具可读性、可维护性,并降低出现错误的风险。

变量声明

在 Python 中,你不需要在使用变量之前显式声明它。你可以通过向变量分配值来创建变量。

但是,需要注意的是,Python 中的变量是动态类型的,这意味着变量的数据类型是在运行时根据分配给它的值类型确定的。这意味着同一个变量可以在不同的时间容纳不同类型的值。例如

y = 5
y = "hello"

print(y) # Output: hello

在这个示例中,我们首先创建了一个名为 y 的变量,并为其赋值 5。然后,我们将 y 的值更改为字符串 hello。程序打印了 y 的值,即字符串 hello

数据类型

Python 中有九种数据类型

  • 整数
  • 浮点数
  • 复数
  • 字符串
  • 布尔值
  • 列表
  • 元组
  • 集合
  • 字典

前三种类型可以有条件地组合成数字组。

数字类型

数字类型用于表示 Python 中的数字。Python 中有三种数字数据类型

  • 整数:整数是不带小数点的整数。示例:5、10、-3。
  • 浮点数:浮点数是小数点后的数字。示例:2.5、-0.1、3.14。
  • 复数:复数是具有实部和虚部的数字。它们表示为在虚部的末尾添加 j。示例:2 + 3j、-4j。
# integer
a = 5
# float
b = 3.14
# complex
c = 2 + 3j

布尔类型

布尔类型是一种数据类型,它只能具有两个值 - TrueFalse

a = True
b = False

字符串类型

字符串(也称为字符串文字)用于表示 Python 中的文本数据。它们用引号(单引号或双引号)括起来,可以包含字母、数字和特殊字符。让我们通过一个示例了解什么是字符串

a = "Hello, World!"
b = 'Python is cool'

列表类型

列表 用于存储项目集合。它们可以包含任何类型的数据,并用方括号表示。

a = [1, 2, 3, 4, 5]
b = ['mango', 'pineapple', 'orange']

元组类型

元组 类似于列表,但它们是不可变的,这意味着它们的內容无法更改。它们用括号表示。

a = (1, 2, 3)
b = ('red', 'green', 'blue')

集合类型

集合用于存储唯一值。它们用大括号表示。

a = {1, 2, 3, 4, 5}
b = {'mango', 'pineapple', 'orange'}

字典类型

字典 用于存储键值对。每个键都与一个值关联,它们用大括号表示,键值对之间用冒号分隔。

a = {'name': 'John', 'age': 30, 'city': 'New York'}
b = {'mango': 1.99, 'pineapple': 0.99, 'orange': 2.99}

无类型

无是 Python 中的一种特殊数据类型,它表示没有值。

a = None

字符变量

在 Python 中,字符变量是存储在变量中的单个字符。与其他一些编程语言不同,Python 没有单独的字符数据类型。相反,在 Python 中,字符只是一个长度为 1 的字符串。

要在 Python 中声明字符变量,可以使用单引号、双引号或三引号将单个字符分配给变量。以下是一些示例

char1 = 'a'
char2 = "b"
char3 = '''c'''

在上面的示例中,char1char2char3 都是字符变量,它们分别存储字符 abc

您还可以使用索引从 字符串变量 中提取单个字符。例如

string = "hello"
char = string[0]   # Output: 'h'

在上面的示例中,char 是一个字符变量,它存储字符串 hello 的第一个字符。

声明变量的类型

如上所述,Python 是一种动态类型语言,这意味着您不需要显式声明变量的类型。相反,变量的类型是在运行时根据分配给它的值确定的。

但是,从 Python 3.5 开始,该语言包括类型注释的语法,允许您指定变量的预期类型。这对于提高代码可读性、文档和类型检查很有用。

以下是如何在 Python 中使用类型注释的一个示例

# declare a variable with an integer type annotation
my_number: int = 42

# declare a variable with a string type annotation
my_string: str = "Hello, world!"

# declare a function with type annotations for parameters and return value
def add_numbers(a: int, b: int) -> int:
    return a + b

请注意,类型注释是可选的,即使您不使用它们,Python 仍然可以工作。但是,使用类型注释可以帮助在编译时而不是在运行时捕获某些类型的错误。

变量和常量

在 Python 中,变量用于存储数据或值,这些数据或值可以在程序运行过程中更改或更新。另一方面,顾名思义,常量变量是变量,一旦为其分配值,就无法更改。

在 Python 中,没有特定的方法来声明变量或常量变量,因为变量是动态类型的,并且它们的类型可以在程序执行期间更改。但是,区分变量和常量变量的一个常见约定是对后者使用大写字母。

例如,假设我们要声明一个变量来存储一个人的年龄,并声明一个常量变量来存储 pi 的值。我们可以按如下方式声明它们

# variable to store age
age = 30

# constant variable to store pi value
PI = 3.14159

在上面的示例中,age 是一个可以更改的变量,而 PI 是一个常量变量,一旦分配了值就无法更改。

需要注意的是,此约定实际上并没有使变量成为常量,并且仍然可以在 Python 中修改常量变量的值。但是,遵循此约定有助于区分在程序执行期间打算更改的变量和打算保持不变的变量。

全局变量和局部变量定义

Python 中有两种类型的变量:全局局部

Python 中的全局变量是在函数外部定义的变量,并且程序的任何部分都可以访问它,包括 函数。Python 中的全局变量具有全局作用域,这意味着它们可以从代码中的任何位置访问。

以下是如何在 Python 中设置全局变量的示例

x = 10

def my_function():
    print(x)

my_function() # output: 10

在上面的示例中,x 是一个全局变量,my_function 函数可以访问它。当调用该函数时,它会打印 x 的值。

现在让我们看看 Python 中的局部变量是什么。

局部变量是在函数内部定义的变量,只能在该函数内访问。局部变量具有局部作用域,这意味着它们只能在定义它们的代码块内访问。

以下是如何在 Python 中定义局部变量的示例

def my_function():
    y = 5
    print(y)

my_function() # output: 5

在上面的示例中,y 是一个局部变量,只能在 my_function 函数内访问。当调用该函数时,它会打印 y 的值。

需要注意的是,如果您使用与全局变量相同的名称定义局部变量,则局部变量将在函数中优先。以下是一个示例

x = 10

def my_function():
    x = 5
    print(x)

my_function() # output: 5
print(x) # output: 10

在上面的示例中,my_function 定义了一个局部变量 x,其值为 5。当调用该函数时,它会打印局部变量的值,即 5。但是,全局变量 x 仍然具有 10 的值,当在函数外部调用它时会打印该值。

与我们一起贡献!

不要犹豫,在 GitHub 上为 Python 教程做出贡献:创建分支,更新内容并发出拉取请求。

Profile picture for user almargit
Python 开发人员,内容经理。
Profile picture for user AliaksandrSumich
更新时间:05/03/2024 - 22:39
Profile picture for user angarsky
已审阅并批准