Python 入门基础知识
Python 是最基础、最常用的编程语言之一。掌握其基本数据类型和内置方法是灵活使用 Python 的关键。本文详细介绍了 Python 中的核心类(int, float, str, list, dict, set, tuple)及其常用操作方法,并梳理了重要的内置函数。
1. 基本数据类型
Python 最基础、常用的类主要包括:
- int (整形): 用于整数赋值。
- float (浮点型): 用于小数赋值。
- str (字符串): 文本数据,操作灵活。
- list (列表): 有序可变集合。
- dict (字典): 键值对映射结构。
- set (集合): 无序不重复元素集。
- tuple (元组): 有序不可变对象,主要用于遍历或作为字典键。
其中,str、list、dict、set 是操作方法最为灵活且常用的类型。掌握这四种类型的操作方法后,即可应对大部分日常开发需求。
2. 字符串 (str) 操作
2.1 条件判断方法
- in: 判断内容是否存在字符串中。
'a' in 'abc' # 返回 True - not in: 判断内容是否不存在于字符串中。
'x' not in 'abc' # 返回 True - is: 判断两个变量的内存地址是否相同(身份比较)。
a = 'hello' b = 'hello' a is b # 小字符串可能共享内存,返回 True;大字符串通常 False
2.2 取值方法
- 下标索引:
a[2]获取第 3 个字符。 - 切片:
a[2:3]获取从索引 2 到 3(不含 3)的子串。 - 循环: 通过
for循环逐个取值。
2.3 元素判断与操作
a = 'Hello World'
a.endswith('d') # 判断是否以 d 结尾,返回布尔值
a.startswith('H') # 判断是否以 H 开头,返回布尔值
a.isalnum() # 判断是否包含数字和字母
a.isalpha() # 判断是否都是英文字母
a.isdigit() # 判断是否都为数字
a.isspace() # 判断是否都为空格
a.istitle() # 判断是否首字母大写(标题格式)
a.islower() # 判断是否为小写字母
a.isupper() # 判断是否为大写字母
a.lower() # 转换为小写
a.upper() # 转换为大写
a.swapcase() # 大小写反转
a.capitalize() # 首字母大写
a.title() # 每个单词首字母大写
2.4 去除指定元素
# 参数缺省时默认去除空格
a.lstrip('m') # 去掉左边的 m
a.rstrip('m') # 去掉右边的 m
a.strip('m') # 去掉两边的 m
2.5 拼接方法 (join)
# join 通过某个字符串拼接可迭代对象的每个元素
'm'.join(['a', 'b']) # 返回 'a mb'
''.join(str) # 将字符串转为列表再拼接(原字符串未修改)
2.6 替换与映射
st.replace('a', 'b', n) # 替换前 n 个 a 为 b,n 缺省则替换所有
# 映射加密示例
p = str.maketrans('abcdefg', '1234567') # 建立映射表
'ccaegg'.translate(p) # 输出结果:331577
# Tab 转空格
st.expandtabs(tabsize=8) # 将 tab 转为 8 个空格
2.7 检索
a.find(b, 3, 10) # 查找 b 在 a 中索引,范围 [3, 10)
a.rfind(b, 3, 10) # 从后往前查找
a.index(b) # 从左往右按值查找索引,找不到抛异常
a.rindex(b) # 从右往左按值查找索引
a.count(b) # 统计 b 出现的次数
2.8 切割字符串
# split 返回 list
a.split(b) # 按 b 分割,缺省按空格
a.splitlines() # 按换行符分割
# partition 返回 tuple
a.partition(b) # 以第一个 b 为中心分为三部分
a.rpartition(b) # 以最后一个 b 为中心分为三部分
2.9 随机字符库 string
import string
string.ascii_letters # 所有大小写字母
string.digits # 0-9 数字
string.ascii_lowercase # 小写英文字母
string.ascii_uppercase # 大写英文字母
2.10 格式化字符串
# format 方法
"{name}huh{age}".format(name='byz', age=18)
"{name}huh{age}".format_map({'name': 'zhangsan', 'age': 18})
# % 占位符 (C 语言风格)
"%d%f%s" % (2, 3.14, "huh")
# 对齐方式
a.center(n, b) # 居中,两边补 b
a.ljust(n, b) # 左对齐,右边补 b
a.rjust(n, b) # 右对齐,左边补 b
a.zfill(n) # 右侧填充 0 至长度 n
2.11 编码
# Python 3 中 str 是 Unicode,bytes 才是字节流
str.encode(encoding='utf-8', errors='strict') # 编码为 bytes
bytes.decode(encoding='utf-8', errors='strict') # 解码为 str
3. 列表 (list) 操作
3.1 增加
lst.append(obj) # 追加到尾部
lst.insert(index, obj)# 在 index 处插入
lst.extend([obj]) # 合并列表到尾部
3.2 删除
del lst[index] # 直接删除指定索引
lst.pop(index) # 删除并返回指定元素
lst.remove(obj) # 删除找到的第一个 obj
lst.clear() # 清空列表
3.3 修改
lst[index] = obj # 直接修改指定位置元素
3.4 检索
lst.index(obj) # 返回第一个匹配元素的索引
lst.count(obj) # 返回元素个数
3.5 排序
lst.sort(key=None, reverse=False) # 原地排序
sorted(iterable, key=None, reverse=False) # 返回新列表
lst.reverse() # 原地反转
3.6 复制
lst.copy() # 浅拷贝
4. 字典 (dict) 操作
d.clear() # 清除所有元素
d.copy() # 浅复制
d.fromkeys(seq, val) # 创建字典,seq 为键,val 为初始值
d.get(key, default=None) # 获取值,key 不存在返回 default
d.items() # 返回 (键,值) 元组视图
d.keys() # 返回键视图
d.setdefault(key, default) # 若 key 不存在则设置
d.update(other_dict) # 更新字典
d.values() # 返回值视图
d.pop(key[, default]) # 删除并返回值
d.popitem() # 随机删除一对键值对
5. 集合 (set) 操作
集合支持数学运算,如交集、并集等。
- 生成新集合:
|,&,-,^等操作符。 - 原地操作:
.update(),.intersection_update()等。
6. 内置函数详解
熟练掌握内置函数能大幅提高代码效率。
6.1 类型转换
bool(object) # 布尔值
str(object) # 字符串
int(value, base=10) # 整数,base 可选
float(value) # 浮点数
complex(real, imag) # 复数
list(iterable) # 列表
tuple(iterable) # 元组
set(iterable) # 集合
dict(key1=val1, ...) # 字典
enumerate(iterable, start=0)# 枚举对象
6.2 对象及属性操作
object() # 空对象,所有类的基类
callable(object) # 检查是否可调
isinstance(object, class) # 检查类型(考虑继承)
id(object) # 对象 ID
type(object) # 对象类型
len(object) # 长度
memoryview(obj) # 内存视图
globals() # 全局变量字典
locals() # 局部变量字典
dir(object) # 属性和方法列表
delattr(object, attr) # 删除属性
getattr(object, attr, def) # 获取属性
hasattr(object, attr) # 检查属性
setattr(object, attr, val) # 设置属性
issubclass(child, father) # 检查子类关系
super() # 父类引用
6.3 数学操作
abs(x) # 绝对值
round(number, ndigits) # 四舍五入
bin(n) # 二进制字符串
hex(number) # 十六进制字符串
oct(n) # 八进制字符串
divmod(x, y) # 商和余数
pow(base, exp, mod) # 幂取模
max(iterable, key=func) # 最大值
min(iterable, key=func) # 最小值
sum(iterable, start=0) # 总和
6.4 迭代器操作
all(iterable) # 全为真则 True
any(iterable) # 任一为真则 True
iter(iterable) # 获取迭代器
next(iterator, default) # 获取下一个元素
filter(func, iterable) # 过滤
map(function, iterable) # 映射
zip(iterables) # 打包成元组
range(start, stop, step) # 数字序列
slice(start, end, step) # 切片对象
reversed(sequence) # 反向迭代
sorted(iterable, key, reverse) # 排序返回列表
6.5 字符串与字节操作
ascii(object) # 可读版本,非 ASCII 转义
chr(x) # Unicode 码对应的字符
ord(c) # 字符的 Unicode 编码
bytearray(x, encoding) # 可变字节数组
bytes(x, encoding) # 不可变字节对象
6.6 编译输入输出
compile(source, filename, mode) # 编译代码对象
eval(source, globals, locals) # 执行表达式
exec(source, globals, locals) # 执行代码块
input(prompt) # 获取用户输入
print(value, sep, end, file) # 输出到标准流
6.7 文件操作
文件操作是编程的基础,Python 提供了丰富的接口。
打开文件
open(file, mode='r', buffering=-1, encoding=None, errors=None)
# mode: 'r'读,'w'写,'a'追加,'b'二进制
文件对象属性
f.closed: 是否关闭f.encoding: 编码格式f.mode: 打开模式f.name: 文件名
文件对象操作
f.close() # 关闭文件
f.detach() # 分离底层缓冲区
f.fileno() # 获取文件描述符
f.flush() # 刷新缓冲区
f.read(size) # 读取指定字节
f.readline(size) # 读取一行
f.readlines() # 读取所有行为列表
f.seek(offset) # 移动指针
f.tell() # 当前指针位置
f.truncate(size) # 截断文件
f.write(str) # 写入字符串
f.writelines(list) # 写入列表
7. 最佳实践总结
- 上下文管理器: 使用
with open(...) as f:自动管理文件关闭,避免资源泄露。 - 不可变性: 理解 tuple 和 str 的不可变性,避免不必要的复制操作。
- 性能优化: 对于大量数据处理,优先使用生成器而非列表推导式以节省内存。
- 异常处理: 文件操作和类型转换时务必使用
try-except捕获潜在错误。 - 编码规范: 始终显式指定文件编码(如
encoding='utf-8'),防止跨平台乱码。
通过系统学习上述基础类型与内置方法,开发者可以快速构建稳健的 Python 程序。建议在实际项目中多查阅官方文档以获取最新 API 细节。


