Python 语句的表达式和缩进

 

一、Python 中的语句

1.1什么是声明?

Python 中的语句是 Python 解释器可以读取和执行的逻辑指令。在 Python 中,它可以是表达式或赋值语句。

赋值语句是 Python 的基础。它定义了表达式创建和保存对象的方式。

1.2什么是表达式

表达式是一种类型的 Python 语句,它包含数字、字符串、对象和运算符的逻辑序列。值本身是一个有效的表达式,变量也是如此。

使用表达式,我们可以执行加法、减法、连接等操作。它还可以调用评估结果的函数。

例子:

# 使用算术表达式
>>> ((10 + 2) * 100 / 5 - 200)
40.0

# 在表达式中使用函数
>>> pow(2, 10)
1024

# 在表达式中使用 eval
>>> eval( "2.5+2.5" )
5.0

1.3简单的赋值语句

在一个简单的赋值中,我们创建新变量、赋值和更改值。该语句提供了一个表达式和一个变量名作为标签来保存表达式的值。

# Syntax
variable = expression
# LHS <=> RHS

现在让我们仔细看看 Python 中的三种赋值语句,看看到底发生了什么。

案例 1:右侧 (RHS) 只是一个基于值的表达式。

让我们考虑一下 Python 中最基本的赋值形式。

>>> test = "Learn Python"

Python 将在内存中创建一个字符串“Learn Python”,并为其分配名称“test”。您可以使用称为id()的内置函数来确认内存地址。

>>> test = "Learn Python"
>>> id(test)
6589040

该数字是数据在内存中所在位置的地址。现在,这里有一些你应该知道的有趣点。

  • 如果您创建另一个具有相同值的字符串,Python 将创建一个新对象并将其分配到内存中的不同位置。所以这条规则适用于大多数情况。
>>> test1 = "Learn Python"
>>> id(test1)
6589104
>>> test2 = "Learn Python"
>>> id(test2)
6589488

  • 但是,Python 在以下两种场景中也会分配相同的内存地址。

字符串没有空格并且包含少于 20 个字符。
如果整数范围在 -5 到 +255 之间。
这个概念被称为InterningPython 这样做是为了节省内存。

案例 2:右侧 (RHS) 是当前的 Python 变量。

让我们讨论下一种类型的赋值语句,其中 RHS 是当前 Python 变量。

>>> another_test = test

上面的语句不会在内存中触发任何新的分配。这两个变量都指向相同的内存地址。这就像为现有对象创建别名。让我们使用id()函数来验证这一点。

>>> test = "Learn Python"
>>> id(test)
6589424
>>> another_test = test
>>> id(another_test)
6589424

案例 3:右侧 (RHS) 是一个操作。

在这种类型的语句中,结果将取决于操作的结果。让我们用下面的例子来分析它。

>>> test = 2 * 5 / 10
>>> print(test)
1.0
>>> type(test)
<class 'float'>

在上面的例子中,赋值会导致创建一个“float”变量。

>>> test = 2 * 5
>>> print(test)
10
>>> type(test)
<class 'int'>

在这个例子中,赋值将导致创建一个 “int”变量。

1.4增强赋值语句

我们可以在赋值中组合算术运算符以形成扩充赋值语句。

查看以下示例以了解增强赋值语句。

x += y

上面的语句是下面简单语句的简写。

x = x + y

下一个是一个更清晰的例子,我们向元组添加新元素。

>>> my_tuple = (10, 20, 30)
>>> my_tuple += (40, 50,)
>>> print(my_tuple)
(10, 20, 30, 40, 50)

下一个示例是使用元音列表。它正在演示将缺失的元音添加到列表中。

>>> list_vowels = ['a','e','i']
>>> list_vowels += ['o', 'u',]
>>> print(list_vowels)
['a', 'e', 'i', 'o', 'u']

 

二、Python 中的多行语句

通常,每个 Python 语句都以换行符结尾。但是,我们可以使用行继续符 () 将其扩展到多行。

Python 为我们提供了两种在程序中启用多行语句的方法。

2.1显式续行

当您立即使用行继续符 () 将语句拆分为多行时。

例子:

# 使用多行语句初始化列表
>>> my_list = [1, \
... 2, 3\
... ,4,5 \
... ]
>>> print(my_list)
[1, 2, 3, 4, 5]

# 使用多行语句计算表达式
>>> eval ( \
... " 2.5 \
... + \
... 3.5")
6.0

2.2隐式续行

隐式续行是指使用括号 ( )、方括号 [ ] 和大括号 { } 中的任何一个拆分语句 。您需要使用提到的构造将目标语句括起来。

例子:

>>> result = (10 + 100
... * 5 - 5
... / 100 + 10
... )
>>> print(result)
519.95

另一个例子:

>>> subjects = [
... 'Maths',
... 'English',
... 'Science'
... ]
>>> print(subjects)
['Maths', 'English', 'Science']
>>> type(subjects)
<class 'list'>

 

三、Python 缩进

许多高级编程语言(如 C、C++、C#)都使用大括号 { } 来标记代码块。Python 通过缩进来实现。

表示函数体或循环体的代码块以缩进开始,以第一个未缩进的行结束。

3.1Python中的缩进有多少个空格?

Python 样式指南 (PEP 8) 规定缩进大小应保持为 4。然而,谷歌有其独特的风格指南,限制缩进最多两个空格。所以你也可以选择不同的风格,但我们建议遵循 PEP8。

3.2为什么缩进很重要?

大多数编程语言都提供缩进以实现更好的代码格式,并且不强制使用缩进。

但是,在 Python 中,必须遵守缩进规则。通常,我们将代码块中的每一行缩进四个空格(或相同的数量)。

在前几节的示例中,您可能已经看到我们编写了没有缩进的简单表达式语句。

然而,为了创建复合语句,缩进将是非常必要的。

例子:

def demo_routine(num):
print('I am a demo function')
if num % 2 == 0:
return True
else:
return False

num = int(input('Enter a number:'))
if demo_routine(num) is True:
print(num, 'is an even number')
else:
print(num, 'is an odd number')

现在,还可以看到不想要的缩进导致错误的场景。因此,让我们尝试缩进一个简单的表达式语句

>>> 6*5-10
File "<stdin>", line 1
6*5-10
^
IndentationError: unexpected indent

关于Python 语句的表达式和缩进的文章就介绍至此,更多相关Python 表达式和缩进内容请搜索编程宝库以前的文章,希望大家多多支持编程宝库

本文为大家分享了Python实现消消乐小游戏的具体代码,供大家参考,具体内容如下玩法:三个相连就能消除源码分享:import osimport sysimport cfgimport pygamefrom mo ...