python 变量使用_如何在Python 3使用变量

介绍

变量是一个重要的编程概念掌握。它们本质上是代表在程序中使用的值的符号。

本教程将介绍一些变量基础知识,以及如何在创建的Python 3程序中最好地使用它们。

了解变量

在技术术语中,变量将存储位置分配给绑定到符号名称或标识符的值。变量名用于在计算机程序中引用该存储值。

你可以把一个变量看作一个有名字的标签,你绑定到一个值:

variable_value.png

比方说,我们有一个整数, 103204934813 ,我们希望把它一遍又一遍存储在一个变量,而不是不断地重新键入一长串数字。 相反,我们使用的东西,很容易记住,如变量my_int :

my_int = 103204934813

如果我们认为它像一个绑定的值的标签,它将看起来像这样:

variable_example.png

该标签具有变量名称my_int写在上面,并绑在整数值103204934813 。

这句话my_int = 103204934813是一个赋值语句 ,它由几部分组成:

变量名( my_int )

赋值运算符 ,也称为等号( = )

正在被拴在变量名中的值( 103204934813 )

总之,这三部分组成,设置变量的声明my_int等于整数值103204934813 。

只要我们设置一个变量等于一个值,我们初始化或创建变量。一旦我们这样做,我们设置使用变量而不是值。在Python中,变量在使用之前不需要显式声明,像一些编程语言;您可以立即开始使用该变量。

只要我们设置my_int等于价值103204934813 ,我们可以使用my_int在整数的地方,所以我们把它打印出来:

print(my_int)

Output103204934813

使用变量,我们可以快速轻松地做数学。随着my_int = 1040 ,让我们减去整数值813:

print(my_int - 813)

Output103204934000

在这个例子中,Python做数学对我们来说,从可变减去813 my_int返回总和103204934000 。

说到数学,变量可以设置为等于数学方程的结果。让我们添加两个数相加并存储的总和入变量的值x :

x = 76 + 145

上面的例子可能看起来像你已经熟悉的东西:代数。在代数中,字母和其他符号用于表示公式和方程式中的数字和数量,就像变量是表示数据类型的值的符号名称一样。对于正确的Python语法,你需要确保你的变量在任何方程的左边。

让我们继续和打印x :

print(x)

Output221

蟒返回的值221 ,因为变量x被设定为等于的总和76和145 。

变量可以表示任何数据类型,而不仅仅是整数:

my_string = 'Hello, World!'

my_flt = 45.06

my_bool = 5 > 9 #A Boolean value will return either True or False

my_list = ['item_1', 'item_2', 'item_3', 'item_4']

my_tuple = ('one', 'two', 'three')

my_dict = {'letter': 'g', 'number': 'seven', 'symbol': '&'}

如果打印任何上述变量,Python将返回该变量等效的内容。例如,让我们使用上面列表数据类型的赋值语句:

my_list = ['item_1', 'item_2', 'item_3', 'item_4']

print(my_list)

Output['item_1', 'item_2', 'item_3', 'item_4']

我们通过列表值['item_1', 'item_2', 'item_3', 'item_4']给变量my_list ,然后使用print()函数调用打印出的价值my_list 。

变量通过在计算机中雕刻出一小块内存区域来工作,它接受与该空间相关联的指定值。

命名变量:规则和样式

变量的命名是非常灵活的,但是你需要记住一些规则:

变量名称只能是一个字(如没有空格)

变量名必须由字母,数字,以及下划线( _ )

变量名不能以数字开头

遵循上面的规则,让我们看看有效和无效的变量名称:

有效

无效

为什么无效

my_int

我的int

不允许使用连字符

int4

4int

不能以数字开头

MY_INT

$MY_INT

不能使用比其他符号_

another_int

另一个int

不能超过一个字

别的变量命名的时候,要记住的是,他们是大小写敏感的,这意味着my_int , MY_INT , My_Int和mY_iNt都是完全不同的变量。您应该避免在程序中使用类似的变量名,以确保您和您的当前和未来的协作者可以保持您的变量直。

最后,一些关于风格的笔记。常规地,当命名变量时,通常以小写字母开始并且在分隔单词时使用下划线。以大写字母开头不是无效的,有些人在编写变量时可能喜欢camelCase或混合的大写和小写字母,但这些不是常规的选择。

传统风格

非常规风格

为什么非常规

my_int

myInt

骆驼不常规

int4

Int4

大写第一个字母不常用

my_first_string

myFirstString

骆驼不常规

你可以做的最重要的风格选择是一致的。如果您开始使用已经使用camelCase作为其变量名的现有项目,则最好继续使用现有样式。

PEP 8是官方Python代码风格指南,它解决了许多你可能对Python的文体问题。一般来说,可读性和一致性比其他文体关注更受欢迎。

重新分配变量

作为字变量所暗示的,Python的变量可以容易地改变。这意味着您可以通过简单的重新分配,非常容易地将不同的值与先前分配的变量连接。

能够重新分配是有用的,因为在整个程序过程中,您可能需要在已经初始化的变量中接受用户生成的值,或者可能必须将分配更改为先前定义的值。

知道你可以容易地轻松地重新分配一个变量也可以在你可能正在处理一个由其他人开始的大型程序,并且你还不清楚已经定义的内容的情况下有用。

让我们把x首先作为一个整数,然后重新分配它作为一个字符串:

#Assign x to be an integer

x = 76

print(x)

#Reassign x to be a string

x = "Sammy"

print(x)

Output76

Sammy

上面的例子表明,我们可以先指定变量x和一个整数的值赋给它,然后重新分配变量x这个时候字符串的值赋给它。

如果我们重写这个程序:

x = 76

x = "Sammy"

print(x)

我们只会收到第二个分配的值作为输出,因为这是最近的分配:

OutputSammy

重新分配变量在某些情况下可能很有用,但是您需要知道代码的可读性,并努力使您的程序尽可能清晰。

多重分配

使用Python,您可以同时为单个值分配给多个变量。这允许您一次初始化几个变量,您可以稍后在程序中重新分配这些变量,或通过用户输入。

通过多次分配,您可以设置变量x , y ,和z的整数值0 :

x = y = z = 0

print(x)

print(y)

print(z)

Output0

0

0

在这个例子中,所有三个变量(的x , y ,和z )被分配到相同的存储器位置。它们各自等于值0。

Python还允许您为同一行中的多个变量分配多个值。每个值都可以是不同的数据类型:

j, k, l = "shark", 2.05, 15

print(j)

print(k)

print(l)

Outputshark

2.05

15

在上面的例子中,变量j被分配到串"shark" ,变量k被分配到浮子2.05 ,可变l被分配到的整数15 。

这种将多个变量分配到一行中的多个值的方法可以保持代码行不变,但确保您不会为更少的代码行降低可读性。

全局和局部变量

当一个程序中使用的变量,它保持变量的作用域一点是非常重要的。变量的范围指的是在给定程序的代码中可访问的特定位置。这就是说,不是所有的变量都可以从给定程序的所有部分访问 - 一些变量将是全局的,一些变量将是本地的。

全局变量的函数之外。功能中存在的局部变量 。

让我们来看看全局变量和局部变量:

#Create a global variable, outside of a function

glb_var = "global"

#Define a function

def var_function():

lcl_var = "local" #Create a local variable, inside function

print(lcl_var)

#Call function to print local variable

var_function()

#Print global variable outside function

print(glb_var)

Outputlocal

global

以上程序分配全局变量glb_var任何功能之外,则定义函数var_function() 内的函数的调用的本地变量lcl_var被分配,然后打印出来。 该程序通过调用结束var_function()然后打印glb_var 。

由于glb_var是一个全局变量,我们可以参考它var_function()让我们修改上面的小程序来做:

glb_var = "global"

def var_function():

lcl_var = "local"

print(lcl_var)

print(glb_var) #Print glb_var within function

var_function()

print(glb_var)

Outputlocal

global

global

我们现在有全局变量glb_var打印出来两次,因为它是两个由函数和函数的外面印刷。

如果我们尝试调用函数外部的局部变量怎么办?

glb_var = "global"

def var_function():

lcl_var = "local"

print(lcl_var)

print(lcl_var)

OutputNameError: name 'lcl_var' is not defined

我们不能用它在分配函数的外部局部变量。如果我们试图这样做,我们会收到一个NameError的回报。

让我们看另一个例子,其中我们使用相同的变量名称作为全局变量和局部变量:

num1 = 5 #Global variable

def my_function():

num1 = 10 #Use the same variable name num1

num2 = 7 #Assign local variable

print(num1) #Print local variable num1

print(num2) #Print local variable num2

#Call my_function()

my_function()

#Print global variable num1

print(num1)

Output10

7

5

因为局部变量num1在函数内部局部分配,当我们调用该函数,我们看到num1为等于本地值10 。 当我们打印出的全球价值num1打完电话后my_function()我们可以看到,全局变量num1仍然等于价值5 。

这可以通过使用Python的指定功能中的全局变量global语句:

def new_shark():

global shark = "Sammy" #Assign variable as global

#Print global variable shark

print(shark)

即使变量shark是在局部范围内分配new_shark()函数,这是因为功能的外部访问global变量的函数内赋值之前使用的语句。 由于是global的语句,当我们调用print(shark)的功能之外,我们没有收到一个错误。 虽然你可以在一个函数中分配一个全局变量,你可能并不需要经常这样做,并在可读的代码方应犯错。

要记住的是,如果你引用一个函数中的一个变量,而不指定一个值,该变量是隐式全局的。为了有一个局部变量,你必须在函数体内为它赋一个值。

当使用变量时,决定使用全局变量还是局部变量更为合适是很重要的。通常最好将变量保存为局部变量,但是当您在多个函数中使用相同的变量时,可能需要初始化一个全局变量。如果你只使用一个函数或一个类中的变量,你可能想使用一个局部变量。

结论

本教程通过一些的Python中的变量常见的用例3.变量是规划的一个重要组成部分了,作为该站在一个价值符号的数据类型,您正在使用的程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值