Python是一种高级编程语言,以其简洁明了的语法和强大的功能深受开发者喜爱。本文将深入探讨在"开发+Python+基础+进阶+实例"中涉及的各个知识点。
我们来看Python基础部分。这一部分涵盖了Python语言的核心概念,如数据类型、运算符、流程控制、函数、类和对象等。例如:
1. 求绝对值:Python内置函数`abs()`可以计算一个数的绝对值,对于复数,它返回复数的模。
2. 元素都为真:`all()`函数用于检查迭代器的所有元素是否都为真,如果都是,则返回True,否则返回False。
3. 元素至少一个为真:`any()`函数用于检查迭代器中是否存在至少一个真值,如果有,则返回True,否则返回False。
4. ASCII展示对象:`repr()`函数可以将对象转换为一个可打印的ASCII字符串。
5. 转换进制:Python提供了内置函数如`bin()`, `oct()`, 和`hex()`用于将十进制数转换为二进制、八进制和十六进制字符串。
6. 字符串转字节和转回:`str.encode()`将字符串转换为字节,`bytes.decode()`将字节转换回字符串。
7. 判断真假:`bool()`函数用于将对象转换为布尔值,根据对象的真值测试规则判断。
8. 转换为字符串:`str()`函数可以将任何对象转换为字符串形式。
9. 判断是否可调用:`callable()`函数用于检查对象是否可以被调用,如函数、方法等。
10. 静态方法:在类中定义`@staticmethod`装饰器的方法,不绑定到特定实例。
11. 动态删除属性:使用`del`语句可以动态删除对象的属性。
12. 转为字典:`dict()`构造函数可以将可迭代的键值对转换为字典。
13. 一键查看对象所有方法:`dir()`函数可以列出对象的所有属性和方法。
14. 取商和余数:`divmod(a, b)`返回一个包含商和余数的元组 `(a // b, a % b)`。
15. 枚举对象:`enumerate()`函数将可迭代对象转换为枚举对象,方便地同时访问索引和值。
16. 计算表达式:`eval(expression)`可以执行一个字符串表示的Python表达式。
17. 查看变量所占字节数:`sys.getsizeof(object)`返回对象的内存占用大小。
18. 过滤器:`filter(function, iterable)`根据提供的函数过滤序列,返回一个迭代器。
19. 转为浮点类型:`float()`函数将数字或字符串转换为浮点数。
20. 字符串格式化:`format()`方法或f-string提供了一种格式化字符串的方式。
21. 冻结集合:`frozenset()`创建一个不可变的集合。
22. 动态获取对象属性:使用`.`操作符可以动态获取或设置对象的属性。
23. 对象是否有这个属性:`hasattr(object, name)`检查对象是否有指定的属性。
24. 返回对象的哈希值:`hash()`函数返回对象的哈希值,用于在字典等数据结构中快速查找。
25. 一键帮助:`help(object)`显示对象的文档字符串或内置帮助信息。
26. 对象门牌号:`id(object)`返回对象的唯一标识符。
27. 获取用户输入:`input()`函数从标准输入(通常是键盘)读取一行文本。
28. 转为整型:`int()`函数将数字或字符串转换为整数。
29. isinstance(): 检查对象是否是特定类或其子类的实例。
30. 父子关系鉴定:`isinstance()`和`issubclass()`可以用来检查类之间的继承关系。
31. 创建迭代器类型:Python的`iter()`函数可以将可迭代对象转换为迭代器。
32. 所有对象之根:`object`是所有Python类的基类。
33. 打开文件:`open()`函数用于打开文件,并返回文件对象。
34. 次幂:`**`运算符用于计算幂次。
35. 创建属性的两种方式:直接赋值和使用`__slots__`属性。
36. 创建range序列:`range(start, stop, step)`创建一个整数序列。
37. 反向迭代器:`reversed(sequence)`返回一个反向迭代器。
38. 四舍五入:`round(number, ndigits)`用于四舍五入。
39. 转为集合类型:`set()`函数可以将可迭代对象转换为集合。
40. 转为切片对象:`slice(start, stop, step)`创建一个切片对象。
41. 拿来就用的排序函数:`sorted(iterable, key=None, reverse=False)`对可迭代对象进行排序。
42. 求和函数:`sum(iterable, start=0)`计算可迭代对象的总和。
43. 转元组:`tuple()`函数可以将序列转换为元组。
44. 查看对象类型:`type(object)`返回对象的类型。
45. 聚合迭代器:`itertools.groupby()`用于对连续的重复元素进行分组。
46. nonlocal用于内嵌函数中:`nonlocal`关键字允许内嵌函数访问外部作用域的变量。
47. global:`global`关键字用于声明变量为全局变量。
48. 链式比较:Python支持链式比较,如`a < b <= c`。
49. 不用else和if实现计算器:利用Python的短路逻辑运算符可以简化条件判断。
50. 链式操作:通过方法链可以在单行代码中连续调用对象的方法。
51. 交换两元素:使用`tuple unpacking`可以轻松交换两个变量的值。
52. 去最求平均:计算平均数时,先去除最大和最小值。
53. 打印99乘法表:利用循环和字符串格式化打印乘法表。
54. 全展开:使用`*`运算符可以展开序列。
55. 列表等分:`numpy.array_split()`或手动切片可以将列表等分为多个子列表。
56. 求众数:`collections.Counter`可以找到列表中出现次数最多的元素。
57. 多表之最:比较多个列表的最小值或最大值。
58. 列表查重:`set()`可以快速去除列表中的重复元素。
59. 列表反转:`list.reverse()`方法可以翻转列表中的元素顺序。
60. 浮点数等差数列:通过循环和数学公式可以生成浮点数等差序列。
61. 按条件分组:`itertools.groupby()`结合自定义函数可以按条件对元素分组。
62. map实现向量运算:`map()`函数可以对序列中的每个元素应用一个函数。
63. 值最大的字典:使用`max()`函数和`lambda`表达式找到字典中值最大的键。
64. 合并两个字典:`dict.update()`方法可以将两个字典合并。
65. topn字典:使用`heapq.nlargest()`或`heapq.nsmallest()`找出字典中n个最大或最小的值。
66. 异位词:异位词是指两个单词的字母相同但排列不同的情况,可以使用`sorted()`排序后比较。
67. 逻辑上合并字典:通过`or`操作符可以合并两个字典的键值对,只保留非None值。
接下来是Python字符串和正则表达式部分:
1. 反转字符串:Python提供了简单的方法`str[::-1]`来反转字符串。
2. 字符串切片操作:使用索引和步长可以对字符串进行切片操作。
3. join串联字符串:`str.join(iterable)`用于将可迭代对象中的字符串连接成一个新字符串。
4. 字符串的字节长度:`len()`函数可以计算字符串的字节长度。
5. 正则表达式基本操作:如`\d`匹配数字,`^`匹配字符串开头,`re.I`忽略大小写等。
6. compile的作用:`re.compile(pattern, flags=0)`预编译正则表达式模式,提高匹配速度。
7. 捕获单词:使用括号`()`来捕获需要的单词。
8. split分割单词:`str.split(separator=None, maxsplit=-1)`用于按指定分隔符分割字符串。
9. match从字符串开始位置匹配:`re.match(pattern, string, flags=0)`从字符串开始位置匹配正则表达式。
10. 替换匹配的子串: