前言:Python作为一门简洁、易读、高效的编程语言,广泛应用于数据分析、人工智能、Web开发、自动化测试等多个领域。其语法简洁易懂,入门门槛低,但深入学习后会发现其蕴含丰富的特性和技巧。本文将从基础语法入手,逐步深入到高级特性,结合实例代码,帮助新手快速掌握Python语法,同时为有一定基础的开发者梳理知识点、查漏补缺。

一、Python基础语法(入门必备)

1.1 第一个Python程序

第一个Python程序(Hello World):

运行结果:Hello World!

注意:Python对大小写敏感,print不能写成Print,否则会报错。

1.2 注释语法

注释用于解释代码,不参与程序执行,分为单行注释和多行注释。

1.3 变量与数据类型

1.3.1 变量定义

Python中变量无需声明类型,直接赋值即可,语法:变量名 = 值

变量命名规则:

  • 只能由字母、数字、下划线组成,且不能以数字开头。

  • 不能使用Python关键字(如if、for、while、class等)。

  • 区分大小写(如name和Name是两个不同变量)。

1.3.2 常用数据类型

Python有5种常用基础数据类型,可通过type()函数查看变量类型。

数据类型

说明

示例

字符串(str)

文本类型,用单引号、双引号或三引号包裹

"abc"'123'

整数(int)

正整数、负整数、0

10-50

浮点数(float)

带小数点的数字

3.14-0.5

布尔值(bool)

只有True(真)和False(假)两个值

TrueFalse

NoneType(None)

表示空值,不同于0和空字符串

x = None

1.4 运算符

Python支持多种运算符,按功能可分为算术运算符、赋值运算符、比较运算符、逻辑运算符、成员运算符等。

1.4.1 算术运算符

运算符

说明

示例

结果

+

加法

10 + 5

15

-

减法

10 - 5

5

*

乘法

10 * 5

50

/

除法(结果为浮点数)

10 / 5

2.0

//

整除(取整数部分)

10 // 3

3

%

取余

10 % 3

1

**

幂运算

2 ** 3

8

1.4.2 赋值运算符

赋值运算符用于给变量赋值,常用的有=+=-=*=/=等。

1.4.3 比较运算符

比较运算符用于比较两个值的大小,返回布尔值(True/False)。

运算符

说明

示例

结果

==

等于

10 == 10

True

!=

不等于

10 != 5

True

>

大于

10 > 5

True

<

小于

10 < 5

False

>=

大于等于

10 >= 10

True

<=

小于等于

10 <= 5

False

1.4.4 逻辑运算符

逻辑运算符用于连接布尔值,常用的有and(与)、or(或)、not(非)。

1.4.5 成员运算符

成员运算符用于判断一个元素是否在某个容器(如字符串、列表、元组等)中,常用in(在)和not in(不在)。

1.4.6 位运算符

位运算符用于对整数的二进制位进行操作,适用于底层开发、性能优化等场景,常用位运算符如下,操作时会先将整数转换为二进制,再进行对应运算,最终返回十进制结果。

运算符

说明

示例

结果(二进制→十进制)

&

按位与:对应位都为1,结果为1,否则为0

3 & 5

011 & 101 = 001 → 1

|

按位或:对应位有一个为1,结果为1,否则为0

3 | 5

011 | 101 = 111 → 7

^

按位异或:对应位不同为1,相同为0

3 ^ 5

011 ^ 101 = 110 → 6

~

按位非:对二进制位取反(0变1,1变0),结果为-(x+1)

~3

~011 = -100 → -4

<<

左移:将二进制位向左移动n位,右边补0,等价于x*2ⁿ

3 << 1

011 <<1 = 110 → 6(3*2¹)

>>

右移:将二进制位向右移动n位,左边补符号位,等价于x//2ⁿ

5 >> 1

101 >>1 = 010 → 2(5//2¹)


1.4.7 身份运算符

身份运算符用于判断两个变量是否指向同一个内存地址(即是否为同一个对象),常用的有isis not,注意与比较运算符==区分(==判断值是否相等,is判断地址是否相同)。

运算符

说明

示例

结果

is

判断两个变量指向同一个对象,是则返回True,否则返回False

a is b

True/False

is not

判断两个变量不指向同一个对象,否则返回True,是则返回False

a is not b

True/False


1.4.8 运算符优先级(从高到低)

Python中不同运算符的执行优先级不同,优先级高的运算符先执行,优先级相同的按从左到右(除赋值运算符外,赋值运算符从右到左)的顺序执行。以下是常用运算符的优先级排序(从高到低),结合前文讲解的所有运算符,重点标注核心类别,方便记忆和实战应用。

优先级

运算符类别

具体运算符

说明

1(最高)

括号

()

可以改变运算符的默认优先级,优先执行括号内的表达式

2

幂运算

**

优先级高于算术运算符,如2 + 3**2 先算3**2=9,再算2+9=11

3

位非运算符

~

唯一优先级为3的位运算符,单独执行取反操作

4

算术运算符(乘除类)

*, /, //, %

优先级高于加减类算术运算符,同优先级从左到右执行

5

算术运算符(加减类)

+, -

同优先级从左到右执行,如10 - 5 + 3 先算10-5=5,再算5+3=8

6

位运算符(移位类)

<<, >>

左移、右移操作,优先级低于算术加减,高于其他位运算符

7

位运算符(逻辑类)

&

按位与,优先级低于移位运算,高于按位或、异或

8

位运算符(逻辑类)

^

按位异或,优先级介于按位与和按位或之间

9

位运算符(逻辑类)

|

按位或,优先级低于按位异或

10

比较运算符

==, !=, >, <, >=, <=

判断值的大小或相等性,同优先级从左到右执行

11

身份运算符

is, is not

判断变量是否指向同一内存地址,优先级低于比较运算符

12

成员运算符

in, not in

判断元素是否在容器中,优先级低于身份运算符

13

逻辑运算符(非)

not

逻辑取反,优先级高于逻辑与、或

14

逻辑运算符(与)

and

逻辑与,优先级低于not,高于or

15(最低)

逻辑运算符(或)+ 赋值运算符

or, =, +=, -=, *=, /= 等

赋值运算符从右到左执行,逻辑or优先级最低


关键注意点:1. 括号是改变优先级的核心,优先执行括号内的表达式;2. 赋值运算符优先级最低,需等其他运算执行完毕后再赋值;3. 逻辑运算符中,not优先级最高,and次之,or最低;4. 位运算符的优先级需注意区分(非>移位>与>异或>或)。

1.5 输入与输出

1.5.1 输出函数print()

print()是Python中最常用的输出函数,可输出单个或多个值,默认换行。

1.5.2 输入函数input()

input()用于接收用户输入,返回值为字符串类型,若需接收其他类型,需进行类型转换。

二、Python流程控制(核心重点)

流程控制用于控制程序的执行顺序,Python支持三种基本流程:顺序结构、选择结构(if-else)、循环结构(for、while)。

注意:Python中没有大括号{},而是通过缩进来区分代码块,缩进一般为4个空格(或1个Tab键),缩进不一致会报错。

2.1 选择结构(if-else)

2.1.1 基本if语句

语法:

if 条件表达式:

    代码块(满足条件时执行)

示例:判断一个数是否为整数

2.1.2 if-else语句

语法:

if 条件表达式:
  代码块1(满足条件时执行)
else:
  代码块2(不满足条件时执行)

示例:判断一个数是正数还是非正数


2.1.3 if-elif-else语句

用于多条件判断,语法:

if 条件1:

    代码块1

elif 条件2:

    代码块2

elif 条件3:

    代码块3  

else:

    代码块n(所有条件都不满足时执行)

示例:判断成绩等级

2.2 循环结构

2.2.1 while循环

while循环用于重复执行一段代码,直到条件不满足为止,语法:

while 条件表达式:

    循环体(条件满足时执行)

    (可选)更新条件的语句

示例1:打印1-5的数字


示例2:计算1-100的和

注意:若忘记更新条件,会导致死循环(程序一直执行,无法退出),需强制终止程序(Ctrl+C)。

2.2.2 for循环

for循环用于遍历可迭代对象(如字符串、列表、元组、range等),语法:

for 变量 in 可迭代对象:

    循环体

示例1:遍历字符串

示例2:遍历range对象(range(start, end, step),左闭右开)


示例3:遍历列表


2.2.3 循环控制语句(break、continue)
  • break:终止当前循环,跳出循环体,不再执行后续循环。

  • continue:跳过当前循环的剩余代码,直接进入下一次循环。

2.2.4 嵌套循环

一个循环中包含另一个循环,称为嵌套循环(常用for-for嵌套)。

示例:打印99乘法表

三、Python容器类型(重点进阶)

容器类型用于存储多个数据,Python中常用的容器有列表(list)、元组(tuple)、字典(dict)、集合(set),各自有不同的特性和使用场景。

3.1 列表(list)

列表是可变的(可修改元素)、有序的容器,用方括号[]包裹,元素之间用逗号分隔,元素类型可以不同。

3.1.1 列表的创建

3.1.2 列表的常用操作

3.2 元组(tuple)

元组是不可变的(不能修改元素)、有序的容器,用圆括号()包裹,元素之间用逗号分隔。元组的操作与列表类似,但不能修改元素。

3.2.1 元组的创建

3.2.2 元组的常用操作

3.3 字典(dict)

字典是可变的、无序的(Python 3.7+后有序)容器,以“键值对(key: value)”的形式存储数据,用大括号{}包裹,键(key)唯一,值(value)可重复。

3.3.1 字典的创建

3.3.2 字典的常用操作

3.4 集合(set)

集合是可变的、无序的容器,元素唯一(自动去重),用大括号{}包裹,元素之间用逗号分隔,不能包含重复元素和可变元素(如列表)。

3.4.1 集合的创建

3.4.2 集合的常用操作

四、Python函数(模块化编程)

函数是一段可重复使用的代码块,用于实现特定功能,将代码模块化,提高代码的复用性和可读性。

4.1 函数的定义与调用

语法:

def 函数名(参数1, 参数2, ...):

    """函数文档字符串(说明函数功能)"""

    函数体(实现功能的代码)

    (可选)return 返回值

示例:定义一个计算两数之和的函数


4.2 函数参数

函数参数分为位置参数、关键字参数、默认参数、可变参数,灵活使用参数可以让函数更通用。

4.2.1 位置参数

最基本的参数类型,调用时参数的顺序必须与定义时一致。


4.2.2 关键字参数

调用时指定参数名,顺序可以任意。

4.2.3 默认参数

定义函数时给参数指定默认值,调用时若不传递该参数,则使用默认值。默认参数必须放在位置参数后面。


4.2.4 可变参数

用于接收不确定数量的参数,分为两种:

  • *args:接收任意数量的位置参数,返回一个元组。

  • **kwargs:接收任意数量的关键字参数,返回一个字典。


4.3 函数返回值

return语句返回函数的执行结果,return后面的代码不会执行;若没有return,函数默认返回None


4.4 匿名函数(lambda函数)

匿名函数是没有名字的函数,语法简洁,用于实现简单的功能,语法:lambda 参数: 表达式,表达式的结果就是函数的返回值。


五、Python高级特性(深入提升)

5.1 列表推导式

列表推导式用于快速创建列表,语法简洁,效率高于普通for循环。

语法:[表达式 for 变量 in 可迭代对象 if 条件]


5.2 生成器(generator)

生成器是一种特殊的迭代器,用于生成大量数据时节省内存(不会一次性将所有数据加载到内存中,而是按需生成)。

创建生成器的两种方式:

  • 将列表推导式的[]改为()

  • 在函数中使用yield语句(函数变成生成器)。


5.3 装饰器(decorator)

装饰器用于在不修改原函数代码的前提下,为函数添加额外功能(如日志记录、计时、权限验证等),本质是一个高阶函数(接收函数作为参数,返回一个新函数)。


5.4 异常处理(try-except)

程序运行时可能会出现错误(异常),如除数为0、索引越界等,异常处理用于捕获异常,避免程序崩溃,让程序更健壮。

语法:

try:

    可能出现异常的代码块

except 异常类型1:

     捕获到异常类型1时执行的代码

except 异常类型2:

     捕获到异常类型2时执行的代码

...

else: 没有出现异常时执行的代码 finally: 无论是否出现异常,都会执行的代码(常用于资源释放)


六、总结与拓展

本文从基础语法(变量、运算符、输入输出)、流程控制(if-else、循环)、容器类型(列表、元组、字典、集合)、函数、高级特性(列表推导式、生成器、装饰器、异常处理)等方面,全面讲解了Python语法,覆盖了从新手入门到进阶提升的核心知识点。

Python语法的核心特点是简洁、灵活,建议在学习过程中多写代码、多练习,将知识点融会贯通。后续可进一步学习Python模块(如os、sys、requests)、面向对象编程(class)、文件操作等内容,逐步提升自己的Python编程能力。

如果本文对你有帮助,欢迎点赞、收藏、评论,如有疑问或补充,欢迎在评论区留言!

更多推荐