摘要:
暂未发现其他比我这个更快的方法。 因为其他方法会展示那个非常卡的目录,导致效率极低。而我这个方法不会去展示那个目录。 查找占用的目录 find / -type d -size +1M -maxdepth 3 -exec ls -lhd {} \; 解析: -type d:只查找目录 -size +1 阅读全文
摘要:
明确目的(本章知识点) 什么是高阶函数 实例-方便理解函数是如何作为参数或者返回值的 函数作为参数的场景 函数作为返回值的场景 函数即作为参数又作为返回值的场景 python内置3个高阶函数-map、filter、reduce 模拟教学(尝试讲清楚) 1、什么是高阶函数 有一个函数,它的参数是函数 阅读全文
摘要:
load average是CPU的性能参数。 也就是说,load average只跟CPU有关。 CPU慢了有哪几种情况呢? 1、CPU本身:密集型计算进程导致CPU异常繁忙。 2、CPU本身:要运行的进程非常多(4C8G上白进程正在排队使用CPU),CPU中断进程要不断分配时间给各进程。导致各进程 阅读全文
摘要:
字典的实现方式 拉链法 i = hash(key) % solt 假设槽位有32个, 那么得到的值很有可能会有冲突, i为最后的该值处于哪个槽位。 将每个槽位做一个列表, 存值的时候append, 取值的时候遍历。 如果算法足够好的话, 就几乎能实现近似O(1)了 实现: In [58]: solt 阅读全文
摘要:
字典 字典是一种key-value结构 字典对象操作 新建字典 方式1:d = 方式2:d = dict() 方式3:d = {'a':1, 'b': 2} 方式4:d = dict([('a',1), ('b', 2)]) # 可迭代对象的元素必须是一个二元组, 二元组的第0个元素为字典的key, 阅读全文
摘要:
可迭代对象与迭代器 可迭代对象 1、什么是可迭代对象 有__iter__方法的叫可迭代对象 可以在for .. in ..语句出现的对象 例:有__iter__方法的叫可迭代对象 In [10]: r = range(5) In [11]: r.__iter__ # 有__iter__方法的都叫可迭 阅读全文
摘要:
解析式 举例场景:对一个列表所有的数值求平方 普通用法 In [15]: ret = [] ...: for x in range(10): ...: ret.append(x ** 2) ...: print(ret) ...: [0, 1, 4, 9, 16, 25, 36, 49, 64, 8 阅读全文
摘要:
集合运算 交集运算 存在集合A和B, 对于集合C, 如果C的每个元素即是A的元素, 又是B的元素, 并且A和B所有相同的元素都在C找到, 那么C是A和B的交集。具体请参考如下实例。 交集运算方法: s1.intersection(s2) s1.intersection_update(s2):_upd 阅读全文
摘要:
成员运算符 成员运算符的目的:用于判断一个元素是否在容器中 成员运算符:返回的是bool in not in In [68]: 3 in [1, 2 ,3 ,4 ] Out[68]: True In [69]: 10 in [1, 2, 3, 4] Out[69]: False In [71]: 1 阅读全文
摘要:
集合set 集合是数学意义上的集合 特征:没有重复元素 集合对象操作 定义集合 方法1:s = set() 方法2:s = {1, 2, 3} 方法3:s = set(range(3)) # 初始化一个可迭代对象 删除集合 需要使用del方法删除 截至2020年5月23日,本人暂时还未发现其他的方法 阅读全文
摘要:
解构与封装 解构 什么是结构?如下讲两个例子 解构:按照元素顺序, 把线性结构的元素赋值给变量。 简单一点的例子 In [26]: x = 1 In [27]: y = 2 In [28]: tmp = x In [29]: x = y In [30]: y = tmp In [31]: print 阅读全文
摘要:
字符串格式化 字符串格式化是拼接字符串的一种手段 字符串的几种连接方式 join和 + 拼接字符串难以控制格式 str.join连接,将可迭代对象转换为字符串 str.join连接,将可迭代对象转换为字符串 注意:此操作会返回一个新的字符串对象,但不会操作原有可迭代对象 In [73]: lst = 阅读全文
摘要:
线性结构与切片 线性结构 列表、元组、字符串、bytes, bytearray 共同点:都是顺序存储, 顺序访问的, 都是可迭代对象, 都可以通过索引访问 线性结构特征 可迭代 len获取长度 可以使用下标操作符通过索引访问 可以切片 例如:可迭代的表现形式 In [1]: for i in [1, 阅读全文
摘要:
字符串与bytes python2和python3最大的区别 区别之处 str是文本序列 bytes是字节序列 文本是有编码的(utf-8, gbk, GB18030等) 字节没有编码的这种说法。 文本的编码指的是字符如何使用字节表示。 bytes与str关系 python3字符串默认使用utf-8 阅读全文
摘要:
字符串及其操作 字符串是集合类型, 并不是一个基本类型 字符串对象操作 新建字符串 方法1:s = 'hello python' 方法2:s = "hello python" 方法3:s = '''hello python''' 方法4:s = "hello python" 前两种完全一样, 后两种 阅读全文
摘要:
命名元组 命名元组的定义: 命名元组讲到元类时会讲 命名元组的好处在于可以直接通过它的名字访问。(既可以实现字典的方式一样访问、又支持元组一样的方式访问,并且是元组有元组的特性) 例:如下元组,我如何见名知意 In [14]: t = ('comyn', 18) In [15]: t Out[15] 阅读全文
摘要:
元组 特性: 元组的最大特性是不可变。 不可变意味着可hash, 意味着可以做字典的key, 可以做set的元素。 函数时,元组的作用更强大。 元组对象操作 针对元组对象本身做的操作 新建元组 方法1:t = tuple() 方法2:t = () 方法3:t = (1, 2, 3) # 直接赋值 方 阅读全文
摘要:
列表与常用操作 列表是一个序列, 用于顺序的存储数据。列表是有序的。 列表对象操作 新建列表 方式一: 使用list函数定义空列表 In [4]: lst = list() 方式二: 使用中括号定义空列表 In [5]: lst = [] 方式三: 使用中括号定义带初始值的列表 In [6]: ls 阅读全文
摘要:
表达式/语句 表达式:常量/变量和运算符一起构成, 通常来讲表达式有返回值(赋值表达式没有返回值) 语句:关键字和表达式一起组成语句, 语句没有返回值 仅做了解即可 表达式 一句话总结:表达是某件事 语句 一句话总结:表达是做某件事 参考文档 "Python表达式与语句" "Python中语句和表达 阅读全文
摘要:
程序结构 程序结构定义就是语句和表达式按照什么样的顺序执行 顺序结构 python3的默认结构, 从上到下一行一行执行 分支结构 分支结构永远只有一个或者0个分支会被执行 :在分支结构中,有了elif可以不用写else,所以才会有0个分支会被执行 条件只能够是bool类型或者可以隐式转换为bool类 阅读全文