写点什么

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

作者:小万哥
  • 2023-09-18
    广东
  • 本文字数:1978 字

    阅读完需:约 6 分钟

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

变量

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


创建变量


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


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


示例


x = 5y = "John"print(x)print(y)
复制代码


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


示例


x = 4       # x的类型为intx = "Sally" # 现在x的类型是strprint(x)
复制代码

类型转换

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


示例


x = str(3)    # x将变为'3'y = int(3)    # y将变为3z = float(3)  # z将变为3.0
复制代码


获取类型


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


示例


x = 5y = "John"print(type(x))print(type(y))
复制代码


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


单引号还是双引号?


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


示例


x = "John"# 与以下代码等效x = 'John'
复制代码


区分大小写


变量名区分大小写。


示例


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


a = 4A = "Sally"# A不会覆盖a
复制代码

变量名

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


  1. 变量名必须以字母或下划线字符开头。

  2. 变量名不能以数字开头。

  3. 变量名只能包含字母数字字符和下划线(A-z、0-9 和_)。

  4. 变量名区分大小写(age、Age 和 AGE 是三个不同的变量)。

  5. 变量名不能是 Python 关键字。


示例


合法的变量名:


myvar = "John"my_var = "John"_my_var = "John"myVar = "John"MYVAR = "John"myvar2 = "John"
复制代码


示例


不合法的变量名:


2myvar = "John"my-var = "John"my var = "John"
复制代码


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


多个单词的变量名


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


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

驼峰命名法(Camel Case)

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


myVariableName = "John"
复制代码

帕斯卡命名法(Pascal Case)

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


MyVariableName = "John"
复制代码

蛇形命名法(Snake Case)

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


my_variable_name = "John"
复制代码


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


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


示例


x, y, z = "Orange", "Banana", "Cherry"print(x)print(y)print(z)
复制代码


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


一个值分配给多个变量


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


示例


x = y = z = "Orange"print(x)print(y)print(z)
复制代码

解包集合

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


示例


解包一个列表:


fruits = ["apple", "banana", "cherry"]x, y, z = fruitsprint(x)print(y)print(z)
复制代码

输出变量

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


示例


x = "Python is awesome"print(x)
复制代码


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


示例


x = "Python"y = "is"z = "awesome"print(x, y, z)
复制代码


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


示例


x = "Python "y = "is "z = "awesome"print(x + y + z)
复制代码


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


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


示例


x = 5y = 10print(x + y)
复制代码


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


示例


x = 5y = "John"print(x + y)
复制代码


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


示例


x = 5y = "John"print(x, y)
复制代码

全局变量

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


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


示例


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


x = "awesome"
def myfunc(): print("Python is " + x)
myfunc()
复制代码


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


示例


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


x = "awesome"
def myfunc(): x = "fantastic" print("Python is " + x)
myfunc()
print("Python is " + x)
复制代码

global 关键字

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


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


示例


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


def myfunc():  global x  x = "fantastic"
myfunc()
print("Python is " + x)
复制代码


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


示例


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


x = "awesome"
def myfunc(): global x x = "fantastic"
myfunc()
print("Python is " + x)
复制代码

最后

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


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


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

发布于: 刚刚阅读数: 6
用户头像

小万哥

关注

代码如人生 2023-02-09 加入

编程爱好者

评论

发布
暂无评论
Python变量:创建、类型、命名规则和作用域详解_Python_小万哥_InfoQ写作社区