一、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(如果有讲到闭包就稍微了解)。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...