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
猜你喜欢
- 原文地址:http://ilovetypography.com/2007/10/22/so-you-want-to-create-a-fon
- <?php//===============================时间日期=========================
- 如何更改 pandas dataframe 中两列的位置:把其中的某列移到第一列的位置。原来的 df 是:df = pd.read_csv(
- 数据解析数据解析就是将爬取到的整个页面中的局部的内容进行提取。python中常用的数据解析方式有以下三种:bs4(python中独有的)xp
- 上传完整django项目文件到服务器sftp ftp lrzsz都可以上传文件到服务器,看自己我django项目叫yunwei,主要app是
- 我的原数据库是3.23版本的.前几天因为一个论坛转移.必须用5.1的.于是就是升级了数据库.论坛是正常的.可以是原来的一个老库因为是3.23
- 今天刚接触python,查看了一些环境建立的文章,可能是年代久远很多都不适用,现在mac搭建python环境变得更简单。大神勿喷。首先去py
- Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。gevent是第
- 这篇文章主要介绍了如何基于python生成list的所有的子集,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 超链接在新窗口打开,是在<a>标签加 target="_blank" 即可。可按下“POST/GET提交按钮
- 首先感谢比尔、感谢微软、感谢MSDN,是他们让我看到他们富有创意的一面,好了好了不废话了。我们经常把多个CSS或者多个JS并成一个,以节省请
- 目录Python的安装VS Code配置Hello World测试调用Python函数string.split()第一次尝试第二次尝试第三次
- 自己写了玩的一个小脚本,百度图片下载import reimport osimport requestsimport hashlibdef d
- 每次在操作数据库的时候最烦的就是根据表单提交的内容写sql语句,特别是字段比较多的时候很麻烦,动不动就容易写错。所以我就写了下面的生成sql
- 1、手动调参,但这种方法依赖于大量的经验,而且比较费时。许多情况下,工程师依靠试错法手工调整超参数进行优化,有经验的工程师可以在很大程度上判
- 导入库和数据首先,我们需要导入PyTorch和PyG库,然后准备好我们的数据。例如,我们可以使用以下方式生成一个简单的随机数据集:from
- 第一类工厂相当于mootools的Native方法,用于创建一些具有扩展能力的类,但这些类并没有继承能力,此类工厂也不能以某个类作为蓝本创建
- 惊现!表面下的隐藏信息——浅谈信息可视化1910年,病卧床上的魏格那(德国气象学家,以“大陆漂移学说”闻名),无意地注视着墙上的世界地图……
- 说明本文根据https://github.com/liuchengxu/blockchain-tutorial的内容,用python实现的,
- 在装这两个的时候出现一些问题,最后总算成功了,记录一下过程环境:win10 64位系统,python3.7.8 ,pip18下载地址:这两个