怎样优化网站案例,网站域名备案信息,学网站建设前景,网络构建的基本步骤介绍
变量是一个重要的编程概念#xff0c;值得掌握。它们本质上是在程序中用于表示值的符号。
本教程将涵盖一些变量基础知识#xff0c;以及如何在您创建的 Python 3 程序中最好地使用它们。
理解变量
从技术角度来说#xff0c;变量是将存储位置分配给与符号名称或标…介绍
变量是一个重要的编程概念值得掌握。它们本质上是在程序中用于表示值的符号。
本教程将涵盖一些变量基础知识以及如何在您创建的 Python 3 程序中最好地使用它们。
理解变量
从技术角度来说变量是将存储位置分配给与符号名称或标识符相关联的值。变量名用于在计算机程序中引用存储的值。
您可以将变量想象成一个标签标签上写着一个名字这个标签关联了一块内存区域。
假设我们有一个整数103204934813我们想将其存储在一个变量中而不是一遍又一遍地重新输入这个很长的数字。相反让我们使用一些易记的东西比如变量 my_int
my_int 103204934813如果我们将其视为与值相关联的标签它将看起来像这样 标签上写有变量名 my_int并与整数值 103204934813 相关联。
短语 my_int 103204934813 是一个赋值语句由几个部分组成
变量名my_int赋值运算符也称为等号要与变量名关联的值103204934813
这三个部分共同构成了将变量 my_int 设置为整数 103204934813 值的语句。
一旦我们将变量设置为一个值我们就初始化或创建了该变量。一旦完成这一点我们就可以使用变量而不是值。在 Python 中变量无需在使用之前进行显式声明就像某些编程语言一样您可以立即开始使用变量。
一旦我们将 my_int 设置为 103204934813 的值我们可以在整数的位置使用 my_int所以让我们将其打印出来
print(my_int)103204934813使用变量我们可以快速而轻松地进行数学运算。通过 my_int 103204934813让我们减去整数值 813
print(my_int - 813)103204934000在这个例子中Python 为我们执行了减法从变量 my_int 中减去 813返回和为 103204934000。
说到数学变量可以设置为数学方程的结果。让我们将两个数字相加并将和的值存储到变量 x 中
x 76 145上面的例子可能看起来像您已经熟悉的东西代数。在代数中字母和其他符号用于表示公式和方程中的数字和数量就像变量是表示数据类型的值的符号名称一样。
让我们继续打印 x
print(x)221Python 返回值 221因为变量 x 被设置为 76 和 145 的和。
变量可以表示任何数据类型不仅限于整数
my_string Hello, World!
my_flt 45.06
my_bool 5 9 # 布尔值将返回 True 或 False
my_list [item_1, item_2, item_3, item_4]
my_tuple (one, two, three)
my_dict {letter: g, number: seven, symbol: }如果打印上述任何变量Python 将返回该变量等于的值。例如让我们使用上面的 list 数据类型 的赋值语句进行工作
my_list [item_1, item_2, item_3, item_4]
print(my_list)[item_1, item_2, item_3, item_4]我们将 [item_1, item_2, item_3, item_4] 的列表值传递给变量 my_list然后使用 print() 函数通过调用 my_list 打印出该值。
变量通过在计算机中划出一小块内存来工作该内存接受指定的值然后与该空间相关联。
命名变量规则和样式
变量命名相当灵活但需要记住一些规则
变量名必须只能是一个单词即无空格变量名只能由字母、数字和下划线 (_) 组成变量名不能以数字开头
遵循上述规则让我们回顾一下有效和无效的变量名
有效无效为何无效my_intmy-int不允许使用连字符int44int不能以数字开头MY_INT$MY_INT不能使用除 _ 之外的符号another_intanother int不能超过一个单词
在命名变量时还需要记住它们是区分大小写的这意味着 my_int、MY_INT、My_Int 和 mY_iNt 是完全不同的变量。为了确保您和当前以及未来的合作者都能正确理解您的变量最好避免在程序中使用类似的变量名。
最后关于样式的一些建议。传统上命名变量时惯例上是以小写字母开头并在单词之间使用下划线。以大写字母开头并使用驼峰命名法或混合大小写字母的方式并不是无效的有些人可能更喜欢在编写变量时使用这些方式但这些选择较不常规。最重要的是在我们的程序中保持一致的命名风格。
传统样式非传统样式为何非传统my_intmyInt驼峰命名法非传统int4Int4大写字母开头非传统my_first_stringmyFirstString驼峰命名法非传统
PEP 8 是官方的 Python 代码样式指南它解决了许多有关 Python 样式的问题。总体而言可读性和一致性优于其他样式考虑。
重新分配变量
正如单词 variable 暗示的那样Python 变量可以轻松更改。这意味着您可以通过重新分配很容易地将先前分配的变量与不同的值关联起来。
能够重新分配是有用的因为在程序的整个过程中您可能需要接受已经初始化的变量中的用户生成的值或者可能需要更改先前定义的分配。
让我们首先将 x 分配为整数然后将其重新分配为字符串
# 将 x 分配为整数
x 76
print(x)# 重新分配 x 为字符串
x Sammy
print(x)76
Sammy上面的例子显示了我们首先将变量 x 分配并将其值分配为整数然后重新分配变量 x这次将其值分配为字符串。
如果我们这样重写程序
x 76
x Sammy
print(x)我们只会收到第二个分配的值作为输出因为那是最近的分配
Sammy重新分配变量在某些情况下是有用的但您需要注意代码的可读性并努力使您的程序尽可能清晰。
多重分配
使用 Python您可以同时为多个变量分配一个单一值。这使您可以一次初始化多个变量稍后在程序中自己或通过用户输入重新分配它们。
通过多重分配您可以将变量 x、y 和 z 设置为整数 0 的值
x y z 0
print(x)
print(y)
print(z)0
0
0在这个例子中三个变量x、y 和 z都被分配给相同的内存位置。它们各自等于值 0。
Python 还允许您在同一行内为多个变量分配多个值。这些值中的每一个都可以是不同的数据类型
j, k, l shark, 2.05, 15
print(j)
print(k)
print(l)shark
2.05
15在上面的例子中变量 j 被分配为字符串 shark变量 k 被分配为浮点数 2.05变量 l 被分配为整数 15。
在一行内为多个变量分配多个值的这种方法可以减少您的代码行数但请确保您不会因为代码行数减少而牺牲可读性。
全局变量和局部变量
在程序中使用变量时重要的是要牢记变量作用域。变量的作用域是指在给定程序的代码中它可访问的特定位置。这就是说并非所有变量都可以从程序的所有部分访问 - 有些变量将是全局的而有些将是局部的。
全局变量存在于函数之外。局部变量存在于函数内部。
让我们看看全局变量和局部变量的实际情况
# 创建一个全局变量在函数之外
glb_var global# 定义一个函数
def var_function():lcl_var local # 在函数内部创建一个局部变量print(lcl_var)# 调用函数以打印局部变量
var_function()# 在函数之外打印全局变量
print(glb_var)local
global上面的程序在任何函数之外分配了全局变量 glb_var然后定义了函数 var_function()。在函数内部一个名为 lcl_var 的局部变量被分配然后打印出来。程序通过调用 var_function() 结束然后打印 glb_var。
由于 glb_var 是一个全局变量我们可以在 var_function() 中引用它。让我们修改上面的小程序来做到这一点
glb_var globaldef var_function():lcl_var localprint(lcl_var)print(glb_var) # 在函数内部打印 glb_varvar_function()local
global
global现在我们将全局变量 glb_var 打印两次因为它既在函数内部又在函数外部打印。
如果我们尝试在函数之外调用局部变量会发生什么呢
glb_var globaldef var_function():lcl_var localprint(lcl_var)print(lcl_var)NameError: name lcl_var is not defined我们不能在函数外部使用在函数内部分配的局部变量。如果尝试这样做我们将收到一个 NameError。
让我们回顾另一个示例其中我们为全局变量和局部变量使用相同的变量名
num1 5 # 全局变量def my_function():num1 10 # 使用相同的变量名 num1num2 7 # 分配局部变量print(num1) # 打印局部变量 num1print(num2) # 打印局部变量 num2# 调用 my_function()
my_function()# 打印全局变量 num1
print(num1)10
7
5因为局部变量 num1 在函数内部局部分配所以当我们调用该函数时我们看到 num1 等于局部值 10。当我们在调用 my_function() 后打印全局值 num1 时我们看到全局变量 num1 仍然等于值 5。
在函数内部使用 Python 的 global 语句可以在函数内部分配全局变量
def new_shark():# 将变量分配为全局global sharkshark Sammy# 调用 new_shark() 函数
new_shark()# 打印全局变量 shark
print(shark)Sammy即使变量 shark 在 new_shark() 函数内部局部分配由于在函数内部的变量分配之前使用了 global 语句所以在函数外部调用 print(shark) 时我们不会收到错误。虽然您可以在函数内部分配全局变量但您可能不经常需要这样做应该倾向于可读的代码。
还需要注意的是如果在函数内部引用一个变量而没有为其分配一个值那么该变量将被隐式视为全局变量。为了有一个局部变量您必须在函数体内为它分配一个值。
在处理变量时决定使用全局变量还是局部变量很重要。通常最好保持变量局部但当您在多个函数中使用相同的变量时可能希望初始化一个全局变量。如果您仅在一个函数或一个 class 内部使用变量那么可能需要使用局部变量。
结论
本教程介绍了 Python 3 中变量的一些常见用法。变量是编程的重要组成部分是用于表示程序中正在使用的数据类型值的符号。