Python变量:创建、类型、命名规则和作用域详解

变量

变量是用于存储数据值的容器。

创建变量

Python没有用于声明变量的命令。

变量在您第一次为其分配值时被创建。

示例

1x = 5 2y = "John" 3print(x) 4print(y)

变量不需要声明为特定类型,并且甚至在设置后可以更改类型。

示例

1x = 4 # x的类型为int 2x = "Sally" # 现在x的类型是str 3print(x)

类型转换

如果要指定变量的数据类型,可以使用类型转换。

示例

1x = str(3) # x将变为'3' 2y = int(3) # y将变为3 3z = float(3) # z将变为3.0

获取类型

您可以使用type()函数获取变量的数据类型。

示例

1x = 5 2y = "John" 3print(type(x)) 4print(type(y))

您将在本教程后面学到更多关于数据类型和类型转换的知识。

单引号还是双引号?

字符串变量可以使用单引号或双引号声明:

示例

1x = "John" 2# 与以下代码等效 3x = 'John'

区分大小写

变量名区分大小写。

示例

这将创建两个不同的变量:

1a = 4 2A = "Sally" 3# A不会覆盖a

变量名

变量可以具有短名称(如x和y)或更具描述性的名称(age、carname、total_volume)。Python变量的规则如下:

  1. 变量名必须以字母或下划线字符开头。
  2. 变量名不能以数字开头。
  3. 变量名只能包含字母数字字符和下划线(A-z、0-9和_)。
  4. 变量名区分大小写(age、Age和AGE是三个不同的变量)。
  5. 变量名不能是Python关键字。

示例

合法的变量名:

1myvar = "John" 2my_var = "John" 3_my_var = "John" 4myVar = "John" 5MYVAR = "John" 6myvar2 = "John"

示例

不合法的变量名:

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

请记住,变量名区分大小写。

多个单词的变量名

具有多个单词的变量名可能难以阅读。

有几种技巧可以使它们更易读:

驼峰命名法(Camel Case)

除第一个单词外,每个单词都以大写字母开头:

1myVariableName = "John"

帕斯卡命名法(Pascal Case)

每个单词都以大写字母开头:

1MyVariableName = "John"

蛇形命名法(Snake Case)

每个单词由下划线字符分隔:

1my_variable_name = "John"

一次给多个变量赋值多个值

Python允许您在一行中为多个变量分配值:

示例

1x, y, z = "Orange", "Banana", "Cherry" 2print(x) 3print(y) 4print(z)

注意:确保变量的数量与值的数量相匹配,否则将会出错。

一个值分配给多个变量

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

示例

1x = y = z = "Orange" 2print(x) 3print(y) 4print(z)

解包集合

如果您有一个列表、元组等集合中的值,Python允许您将这些值提取到变量中。这称为解包。

示例

解包一个列表:

1fruits = ["apple", "banana", "cherry"] 2x, y, z = fruits 3print(x) 4print(y) 5print(z)

输出变量

Python的print()函数通常用于输出变量。

示例

1x = "Python is awesome" 2print(x)

在print()函数中,您可以输出多个变量,用逗号分隔:

示例

1x = "Python" 2y = "is" 3z = "awesome" 4print(x, y, z)

您还可以使用+运算符输出多个变量:

示例

1x = "Python " 2y = "is " 3z = "awesome" 4print(x + y + z)

请注意,在"Python "和"is "之后有空格字符,如果没有空格字符,结果将是"Pythonisawesome"。

对于数字,+字符作为数学运算符起作用:

示例

1x = 5 2y = 10 3print(x + y)

在print()函数中,当您尝试使用+运算符将字符串和数字组合在一起时,Python会报错:

示例

1x = 5 2y = "John" 3print(x + y)

在print()函数中输出多个变量的最佳方法是用逗号分隔它们,甚至支持不同的数据类型:

示例

1x = 5 2y = "John" 3print(x, y)

全局变量

在函数之外创建的变量(如上面的所有示例)被称为全局变量。

全局变量可以被所有人使用,无论是在函数内部还是在函数外部。

示例

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

1x = "awesome" 2 3def myfunc(): 4 print("Python is " + x) 5 6myfunc()

如果您在函数内部创建了一个具有相同名称的变量,这个变量将是局部的,只能在函数内部使用。具有相同名称的全局变量将保持不变,仍然是全局的,并具有原始值。

示例

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

1x = "awesome" 2 3def myfunc(): 4 x = "fantastic" 5 print("Python is " + x) 6 7myfunc() 8 9print("Python is " + x)

global关键字

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

要在函数内部创建一个全局变量,您可以使用global关键字。

示例

如果使用global关键字,变量属于全局范围:

1def myfunc(): 2 global x 3 x = "fantastic" 4 5myfunc() 6 7print("Python is " + x)

此外,如果要在函数内部更改全局变量的值,也可以使用global关键字。

示例

要在函数内部更改全局变量的值,请使用global关键字引用该变量:

1x = "awesome" 2 3def myfunc(): 4 global x 5 x = "fantastic" 6 7myfunc() 8 9print("Python is " + x)

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

typeScript数据类型

//布尔类型letisDone:booleanfalse;//数字类型所有数字都是浮点数numberletdecLiteral:number6;lethexLiteral:number0xf00d;letbinaryLiteral:number0b101

VBox 启动虚拟机失败

在Vbox(5.0.8版本)启动Ubuntu的虚拟机时,遇到错误信息:NtCreateFile(\\Device\\VBoxDrvStub)failed:0xc000000034STATUS\_OBJECT\_NAME\_NOT\_FOUND(0retries) (rc101)Makesurethekern

FLV文件格式

1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.