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

简介: ## 变量变量是用于存储数据值的容器。创建变量Python没有用于声明变量的命令。变量在您第一次为其分配值时被创建。

变量

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

创建变量

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

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

示例

x = 5
y = "John"
print(x)
print(y)

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

示例

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

类型转换

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

示例

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

获取类型

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

示例

x = 5
y = "John"
print(type(x))
print(type(y))

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

单引号还是双引号?

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

示例

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

区分大小写

变量名区分大小写。

示例

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

a = 4
A = "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 = fruits
print(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 = 5
y = 10
print(x + y)

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

示例

x = 5
y = "John"
print(x + y)

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

示例

x = 5
y = "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腾讯开发者社区阿里开发者社区

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

相关文章
|
1天前
|
存储 Linux iOS开发
Python入门:2.注释与变量的全面解析
在学习Python编程的过程中,注释和变量是必须掌握的两个基础概念。注释帮助我们理解代码的意图,而变量则是用于存储和操作数据的核心工具。熟练掌握这两者,不仅能提高代码的可读性和维护性,还能为后续学习复杂编程概念打下坚实的基础。
Python入门:2.注释与变量的全面解析
|
8天前
|
存储 Python 容器
python之变量的使用
Python 中变量是对象的引用,赋值即为指向内存中对象。创建对象时,解释器分配内存,引用计数管理内存回收。Python 是动态类型语言,变量类型在运行时确定。对象分为可变与不可变,前者可修改内部状态,后者则不行。命名空间管理变量作用域,确保不同区域的变量独立。
|
1月前
|
人工智能 Unix Java
[oeasy]python059变量命名有什么规则_惯用法_蛇形命名法_name_convention_snake
本文探讨了Python中变量命名的几种常见方式,包括汉语拼音变量名、蛇形命名法(snake_case)和驼峰命名法(CamelCase)。回顾上次内容,我们主要讨论了使用下划线替代空格以提高代码可读性。实际编程中,当变量名由多个单词组成时,合理的命名惯例变得尤为重要。
89 9
|
2月前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
105 8
|
2月前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
126 68
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
116 2
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
126 80

推荐镜像

更多