Python基础语法与核心语句详解
本文系统梳理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语句)
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













