Python基础语法与核心语句详解

巷口听风
巷口听风
发布时间:2026-10-13| 3人浏览过
原创

本文系统梳理Python语言的基础语法与核心语句。详细解析while与for循环的执行逻辑、break/continue/pass的控制作用,以及赋值语句的对象引用机制。同时涵盖print函数的标准输出用法、复合语句的缩进规则及文档字符串特性,帮助开发者掌握Python代码执行的控制流程与基本操作规范。

Python基础语法概述

Python语言的基本语句与语法结构

简单语句基础

1. Python简单语句基础概述


>>> while True: #简单的while循环

... reply = input('Enter text:') #调用了Input,将输入传参给reply

... if reply == 'stop': break  #如果输入的是stop就退出循环

... print(reply.upper())    #如果输入的不是stop就一直将输入的转换为大写字母

...

Enter text:abc   #这是第一个输入abc,看到下面转换成大写的ABC了

ABC

Enter text:nihao123da

NIHAO123DA

Enter text:stop  #这里输入了一个stop,然后循环就退出了

>>>

上述代码示例展示了Python中最为通用的循环结构——while循环。其基本构成包含关键字while、一个返回布尔值(真或假)的表达式,以及当表达式为真时重复执行的嵌套代码块。在逻辑判断中,True被视为始终为真。

此处使用的input内置函数用于通过控制台接收用户输入。该函数会打印可选的参数字符串作为提示信息,并返回用户输入的字符串内容。

单行if语句利用嵌套代码块的特殊规则呈现:if语句体直接位于冒号后的首行,而非在首行下方的缩进行中。

Python中的break语句用于立即终止当前循环。执行break后,程序将完全跳出循环结构,继续执行循环之后的代码。若缺少该退出语句,while循环将因测试条件始终为真而陷入无限循环。


>>> while True:

...   reply = input('Enter text:')

...   if reply == 'stop': #如果是stop就退出

...    break

...   elif not reply.isdigit(): #如果输入的不是数字类型就打印Bad1 8次

...     print('Bad!' * 8)

...   else: #否则就打印输入数字的2次方

...     print(int(reply) ** 2)

...   #按回车下面是测试结果

Enter text:abc

Bad!Bad!Bad!Bad!Bad!Bad!Bad!Bad!

Enter text:a

Bad!Bad!Bad!Bad!Bad!Bad!Bad!Bad!

Enter text:2

4

Enter text:stop

>>>

Python会按从上至下的顺序执行首次测试为真的代码块;若所有测试条件均为假,则执行else部分。

赋值、表达式与打印

2. 赋值、表达式与打印操作

赋值语句具有若干需特别注意的特性,具体如下所示。

赋值语句的核心作用是建立对象引用。Python将对象引用值存储在变量名或数据结构元素中,而非直接赋值对象本身。因此,Python变量更接近于指针,而非数据存储区域。

变量名在首次被赋值时创建。Python在首次将对象引用值赋予变量时生成该变量名。部分数据结构元素(如字典中的键值对、某些对象属性)也会在赋值时创建。一旦赋值完成,每当该变量名出现在表达式中时,它将被其所引用的值替代。

变量在引用前必须先完成赋值。使用未赋值的变量名属于错误操作,Python会抛出异常而非返回模糊的默认值;若返回默认值,将极大增加程序中查找输入错误的难度。

Python中许多操作会执行隐式赋值。例如,模块导入、函数与类的定义、for循环变量以及函数参数均属于隐式赋值运算的范畴。


>>> seq = [1,2,3,4]

>>> a,b,c,*d = seq

>>> print(a,b,c,d)

1 2 3 [4]

>>> L = [1,2,3,4]

>>> while L:

...  front, *L = L

...  print(front,L)

...

1 [2, 3, 4]

2 [3, 4]

3 [4]

4 []

当使用带星号的名称时,左侧目标中的项数无需与目标序列的长度完全匹配。实际上,带星号的名称可以出现在目标序列的任何位置。

打印操作机制

在Python中,print语句用于实现打印功能,它实质上是程序员友好的标准输出流接口。从技术层面看,它将一个或多个对象转换为文本表达形式,并发送至标准输出或其他类似文件的流中。

文件对象方法(如file.write(str))与打印操作类似但更专注:文件写入方法将字符串写入任意文件,而print默认将对象打印至stdout流,并自动添加格式化处理。与文件方法不同,使用print时无需手动将对象转换为字符串。

标准输出流(通常称为stdout)是程序文本输出的默认目的地。结合标准输入流和错误流,它们是脚本启动时创建的三种数据连接之一。标准输出通常映射到启动Python程序的窗口,除非在操作系统shell中将其重定向至文件或管道。

控制流程与语法规则

if测试条件与语法规则

Python语法关键特性

Python语法具备以下重要特性:语句按顺序执行。Python通常从头至尾依次执行文件中嵌套块的语句,但像if(以及循环)这样的语句会使解释器在程序内部跳转。由于Python执行的路径被称为控制流程,影响该路径的语句通常称为控制流程语句。块和语句的边界由Python自动检测。Python程序块不使用大括号或“begin/end”等分隔符,而是利用首行下方的语句缩进来组合嵌套块内的语句。同样,Python语句通常不以分号结尾,一行的末尾即代表该行语句的结束。

复合语句由首行加“:”及缩进语句组成。Python中所有复合语句均遵循此格式:首行以冒号终止,后接一个或多个嵌套语句,且通常缩进于首行之下。缩进语句称为块(或组)。在if语句中,elif和else分句属于if的一部分,同时也是各自嵌套块的首行。空白行、空格及注释通常被忽略。文件中的空白行会被忽略(交互模式提示符下除外)。语句和表达式中的空格几乎被忽略(字符串常量内及用于缩进时除外)。注释始终被忽略:以#字符开头(字符串常量内除外),并延伸至该行末尾。文档字符串(docstring)虽被忽略,但会被保存并由工具显示。Python支持的另一种注释称为文档字符串(简称docstring)。与#注释不同,文档字符串在运行时保留以便查看。文档字符串仅出现在程序文件及某些语句顶端。Python会忽略这些内容,但在运行时会自动将其附加到对象上,并可由文档工具显示。

循环语句详解

while与for循环机制

while语句是Python语言中最通用的迭代结构。


>>> x = 'spam'

>>> while x:

...   print(x,end='')

...   x = x[1:]

...

spampamamm>>>

注意,此处使用end=''关键字参数,使所有输出出现在同一行,且各输出之间以空格分隔;

在Python中:

break:跳出最近所在的循环(即跳过整个循环语句)

continue:跳到最近所在循环的开头处(即回到循环的首行)

pass:不执行任何操作,仅作为空占位语句

循环else块:仅当循环正常结束时执行(即未遇到break语句)

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。