Python基础语法知识点复习

一、Python 语言概述

1. Python 简介与发展

  • Python 的创始人(Guido van Rossum)、大致发展年代、2.x 与 3.x 的区别(知道 3.x 是主流,print 变成函数等即可)。
  • 解释型语言、高级语言、脚本语言的含义:逐行解释执行,跨平台、开发效率高但运行效率略低。

2. 语言特点

  • 简洁易读、语法接近自然语言、强制缩进控制代码块。
  • 面向对象、支持函数式编程特性(如 map、filter、lambda 等)。
  • “胶水语言”:可方便调用 C/C++、Java 等其它语言库,生态丰富。

3. 主要应用领域

  • Web 开发
  • 数据分析与科学计算(NumPy、Pandas 等)
  • 人工智能与机器学习(如 TensorFlow、PyTorch)
  • 爬虫与自动化运维
  • 桌面/小游戏开发等

4. 开发环境与运行方式

  • 安装 Python(python.org 或系统包管理工具),解释器版本(python3 / python)。
  • 常见开发环境:IDLE、PyCharm、VS Code 等。
  • 两种运行方式:
    • 交互式(REPL):逐行输入执行,适合调试小段代码。
    • 脚本文件方式:python3 xxx.py 运行源文件。

二、Python 基本语法元素

1. 注释

  • 单行注释:# 后面内容为注释。
  • 多行注释:一般用三引号字符串(''' 或 “””)作为注释块。

2. 缩进与代码块

  • Python 使用缩进来表明代码块层级,而不是 {}。
  • if、for、def、class 等语句后必须有冒号 :,下一行统一缩进(一般 4 空格)

3. 标识符与关键字

  • 标识符命名规则(必须熟记):
    • 由字母、数字、下划线组成。
    • 不能以数字开头。
    • 区分大小写。
    • 不能与关键字重名。
  • 关键字:如 if、else、for、while、def、class、return、import、from 等(不用全背,但要见到能识别)。

4. 变量与赋值

  • 动态类型:不需要声明类型,由赋值的对象决定类型。
  • 基本赋值:x = 10
  • 链式赋值:a = b = c = 0
  • 交叉赋值:x, y = y, x(交换两数)
  • 多变量同时赋值:a, b, c = 1, 2, “abc”

5. 输入与输出

  • 输入:
    • input():总是返回字符串类型,需要显式转换:age = int(input(“请输入年龄:”))
  • 输出:
    • 百分号形式(了解):“姓名: %s, 年龄: %d” % (name, age)
    • format():“姓名: {}, 年龄: {}”.format(name, age)
    • f-string:f”姓名: {name}, 年龄: {age}”(强烈提议掌握)
    • print():支持多个参数,默认用空格分隔,末尾默认换行。
    • 格式化输出:

6. 简单语句与代码结构

  • 一条语句一般一行,过长可用续行符 或括号自动续行。
  • 空语句:pass(什么都不做,一般占位使用)。

三、数据类型与基础数据结构

1. 基本数据类型

  • 数字类型:
    • int(整数):10, -5, 0x1A(十六进制)
    • float(浮点):3.14, 1.0e-3
    • complex(了解):1+2j
  • 布尔类型:
    • bool 值:True、False。
    • 布尔上下文:0、空字符串 “”、空容器、None 等为假;非零、非空为真。
  • None 类型:
    • 表明“无值”或空,与 False、0 不一样。
    • 用 is None 或 is not None 判断。

2. 字符串(str)

  • 定义:单引号、双引号、三引号字符串。
  • 特性:
    • 不可变:不能对某个索引赋值,如 s[0]=‘X’ 会报错。
    • 序列类型:支持索引、切片、遍历。
  • 常用操作(记住方法名和用法):
    • 大小写:upper()、lower()、capitalize()、title()
    • 去除两端空白:strip()、lstrip()、rstrip()
    • 分割:split(sep)(默认按空白分割)
    • 查找:find()、index()(后者找不到会抛出异常)
    • 替换:replace(old, new)
    • 判断:startswith()、endswith()、isdigit()、isalpha()、isalnum()
    • 索引和切片:s[0], s[-1], s[1:5], s[::-1](反转)。
    • 拼接:+ 和重复:*
    • 常用方法:
    • 格式化:format() 和 f-string(重点)。
  • 编码与解码:encode(“utf-8”)、decode(“utf-8”)(了解用法即可)。

3. 容器类型:列表(list)

  • 有序可变序列,元素类型可以不同。
  • 创建:
    • 直接:[1, 2, 3]
    • 空列表:[] 或 list()
  • 常用操作:
    • 索引/切片:与字符串类似,但可修改。
    • 增:append(x)(尾部添加)、extend(iterable)(扩展)、insert(idx, x)(插入)
    • 删:del lst[i]、pop([i])(删除并返回)、remove(x)(删除第一个值为 x 的元素)
    • 改:lst[i] = new_value
    • 查:in / not in、index()、count()
  • 遍历:
    • for item in lst:
    • for i, item in enumerate(lst):

4. 元组(tuple)

  • 有序不可变序列,创建后不能修改元素(除非内部含可变对象)。
  • 创建:
    • 直接:(1, 2, 3)
    • 单元素元组:必须写成 (1,)
  • 索引、切片、遍历与列表类似。
  • 常见用途:函数返回多个值(return a, b)、作为字典的键等。

5. 字典(dict)

  • 键值对(key: value)集合,键必须唯一且不可变(常见为 str、int、tuple),值可以任意。
  • 创建:
    • 直接:{“name”: “Tom”, “age”: 18}
    • 空字典:{} 或 dict()
  • 常用操作:
    • 遍历键:for key in d: 或 for key in d.keys():
    • 遍历值:for value in d.values():
    • 遍历键值:for key, value in d.items():
    • 访问:d[“name”],推荐 d.get(“name”, default)
    • 添加/修改:d[“key”] = value
    • 删除:del d[“key”]、d.pop(“key”, default)
    • 遍历:

6. 集合(set)

  • 无序、元素不重复,可变集合。
  • 创建:
    • 直接:{1, 2, 3}
    • 空集合:set()(注意 {} 是空字典)
  • 常用操作:
    • 添加:add(x)、update(iterable)
    • 删除:remove(x)(不存在会报错)、discard(x)(不存在不报错)
    • 集合运算:并集 |、交集 &、差集 -、对称差集 ^
  • 用途:去重、集合运算(如求共同元素)。

7. 类型转换与常用内置函数

  • 类型转换:int()、float()、str()、bool()、list()、tuple()、set()、dict()。
  • 常用内置函数:
    • len()、type()、print()、input()
    • max()、min()、sum()、sorted()
    • range()、enumerate()、zip()

四、运算符与表达式

1. 算术运算符

  • +、-、*、/(真除)、//(整除)、%(取余)、**(幂运算)
  • 注意除法与整除的区别,特别是涉及负数时整除“向下取整”的特性(概念上了解一下即可)。

2. 关系/比较运算符

  • ==、!=、>、<、>=、<=
  • 比较结果为布尔值。
  • 字符串比较:按 Unicode 码点逐字符比较,注意 “10” < “2” 这种坑。

3. 逻辑运算符

  • and、or、not
  • 短路求值:and 遇假则停止,or 遇真则停止(常见于条件表达式)。
  • 逻辑运算符优先级一般低于比较运算符。

4. 赋值与复合赋值运算符

  • =、+=、-=、*=、/=、//=、%=、**=
  • 理解 a += 1 等价于 a = a + 1。

5. 成员运算符和身份运算符

  • 成员测试:in、not in(常用在字符串、列表、元组、字典、集合中)。
  • 身份比较:is、is not(比较是否同一个对象,不要用来比较值,例如字符串一般用 == 而不是 is)。

6. 运算符优先级

  • 大致顺序(高到低):
    • 括号 ()
    • 幂 **
    • 正负号 +x, -x
    • *、/、//、%
    • +、-
    • 关系运算符 <、>、<=、>=
    • 相等性 ==、!=
    • 成员运算符 in、not in
    • 身份 is、is not
    • 逻辑 not、and、or
  • 记不住就多用括号,增强可读性。

五、程序流程控制(顺序、分支、循环)

1. 顺序结构

  • 程序默认从上到下依次执行,这是最基本结构。
  • 2. 分支结构(if 语句)单分支:
    • if 条件:
  • 双分支:
    • if 条件:
    • else:
  • 多分支:
    • if 条件1:
    • elif 条件2:
    • else:
  • 条件表达式(三元表达式):
    • x = a if a > b else b

3. 循环结构

  • for 循环:
    • 一般形式:for 变量 in 可迭代对象:
    • 常配合 range() 使用:for i in range(5):(0~4)
  • while 循环:
    • 一般形式:while 条件:
    • 注意循环终止条件,避免死循环。

4. 辅助语句

  • break:直接跳出当前层循环。
  • continue:跳过本次循环剩余语句,进入下一轮循环。
  • else 在循环后:
    • for/while 循环执行完(且未被 break 终止)时会执行 else 块。

5. 嵌套结构

  • if 中套 if、if 套循环、循环套循环等,注意缩进对应关系。

六、函数基础

1. 函数定义与调用

  • 定义:
    • 函数体
    • [return 返回值]
    • def 函数名(参数列表):
  • 调用:
    • result = 函数名(实参列表)

2. 参数与返回值

  • 位置参数、关键字参数、默认参数(如 def f(a, b=1):)
  • 可变长度参数:
    • *args:接收多个位置参数为元组。
    • **kwargs:接收多个关键字参数为字典。
  • return 语句:
    • 可以返回多个值,实际是返回一个元组:return a, b。
    • 没有 return 或 return None 时,默认返回 None。

3. 变量作用域

  • 局部变量:函数内定义,仅在函数内部有效。
  • 全局变量:在模块顶层定义。
  • global 关键字:在函数内修改全局变量时使用(如 global x)。
  • 了解嵌套函数中 nonlocal(如果有讲到闭包就稍微了解)。
© 版权声明

相关文章

暂无评论

none
暂无评论...