服务器之家

服务器之家 > 正文

Python 语句的表达式和缩进

时间:2022-01-11 00:17     来源/作者:海拥

一、Python 中的语句

1.1什么是声明?

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

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

1.2什么是表达式

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

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

例子:

?
1
2
3
4
5
6
7
8
9
10
11
# 使用算术表达式
>>> ((10 + 2) * 100 / 5 - 200)
40.0
 
# 在表达式中使用函数
>>> pow(2, 10)
1024
 
# 在表达式中使用 eval
>>> eval( "2.5+2.5" )
5.0

1.3简单的赋值语句

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

?
1
2
3
# Syntax
variable = expression
# LHS <=> RHS

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

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

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

?
1
>>> test = "Learn Python"

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

?
1
2
3
>>> test = "Learn Python"
>>> id(test)
6589040

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

  • 如果您创建另一个具有相同值的字符串,Python 将创建一个新对象并将其分配到内存中的不同位置。所以这条规则适用于大多数情况。
?
1
2
3
4
5
6
>>> test1 = "Learn Python"
>>> id(test1)
6589104
>>> test2 = "Learn Python"
>>> id(test2)
6589488
  • 但是,Python 在以下两种场景中也会分配相同的内存地址。

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

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

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

?
1
>>> another_test = test

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

?
1
2
3
4
5
6
>>> test = "Learn Python"
>>> id(test)
6589424
>>> another_test = test
>>> id(another_test)
6589424

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

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

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

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

?
1
2
3
4
5
>>> test = 2 * 5
>>> print(test)
10
>>> type(test)
<class 'int'>

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

1.4增强赋值语句

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

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

?
1
x += y

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

?
1
x = x + y

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

?
1
2
3
4
>>> my_tuple = (10, 20, 30)
>>> my_tuple += (40, 50,)
>>> print(my_tuple)
(10, 20, 30, 40, 50)

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

?
1
2
3
4
>>> list_vowels = ['a','e','i']
>>> list_vowels += ['o', 'u',]
>>> print(list_vowels)
['a', 'e', 'i', 'o', 'u']

二、Python 中的多行语句

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

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

2.1显式续行

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

例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 使用多行语句初始化列表
>>> my_list = [1, \
... 2, 3\
... ,4,5 \
... ]
>>> print(my_list)
[1, 2, 3, 4, 5]
 
# 使用多行语句计算表达式
>>> eval ( \
... " 2.5 \
... + \
... 3.5")
6.0

2.2隐式续行

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

例子:

?
1
2
3
4
5
6
>>> result = (10 + 100
... * 5 - 5
... / 100 + 10
... )
>>> print(result)
519.95

另一个例子:

?
1
2
3
4
5
6
7
8
9
>>> 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 中,必须遵守缩进规则。通常,我们将代码块中的每一行缩进四个空格(或相同的数量)。

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

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

例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
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')

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

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

到此这篇关于Python 语句的表达式和缩进的文章就介绍到这了,更多相关Python 表达式和缩进内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://juejin.cn/post/6984593237210054687

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部