Python 语句的表达式和缩进
作者:海拥 时间:2023-11-26 18:28:24
目录
一、Python 中的语句
1.1什么是声明?
1.2什么是表达式
1.3简单的赋值语句
1.4增强赋值语句
二、Python 中的多行语句
2.1显式续行
2.2隐式续行
三、Python 缩进
3.1Python中的缩进有多少个空格?
3.2为什么缩进很重要?
一、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 之间。
这个概念被称为Interning
。Python
这样做是为了节省内存。
案例 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
来源:https://juejin.cn/post/6984593237210054687