随笔分类 - python进阶
摘要:国庆假期,Python 社区发布了 3.9 版本的第一个 stable release。 相比于 3.8,Python 3.9 新特性众多,但不少特性与大多数 Python“使用者”(而非 CPython 的贡献者或使用 C 接口编写扩展的开发者)关系不大。 本文将站在 Python “使用者”的角
阅读全文
摘要:问题: 如图,用hash() 筛重时竟然出现了重复。 如下图: hash字符串时,同一窗口的是一致的,不同窗口结果竟然不同。 原因: python的字符串hash算法并不是直接遍历字符串每个字符去计算hash,而是会有一个secret prefix和一个secret suffix,可以认为相当于是给
阅读全文
摘要:在进行Python多线程编程时, join() 和 setDaemon() 是最常用的方法,下面说说两者的用法和区别。 1、join () 例子:主线程A中,创建了子线程B,并且在主线程A中调用了B.join(), 那么,主线程A会在调用的地方阻塞,直到子线程B完成操作后,才可以接着往下执行。 2、
阅读全文
摘要:引言: 在阅读源码时,有很多简写的形式,其中一个比较常用的就是getattr()用来调用一个类中的变量或者方法,相关联的hasattr()、getattr()、setattr()函数的使用也一并学习了一下。 正文: 1. hasattr(object, name) 判断object对象中是否存在na
阅读全文
摘要:问题/需求: 需要将字符串切分,但是分隔符在整个字符串中并不一致 (即:需要用多个分隔符切分字符串) str.split()方法不可行: 只支持单一分隔符,不支持正则及多个切割符号,不感知空格的数量 解决办法: re.split() 适用:多个 分隔符,切割功能非常强大 语法: re.split(p
阅读全文
摘要:一、列表内建方法--sort() 作用:就地对列表排序(直接在原列表上做排序) 语法: list.sort(func=None, key=None, reverse=False) 当reverse=False时:正向排序;当reverse=True时:逆向排序。默认为False。 执行完后会改变原来
阅读全文
摘要:首先,拿好宝剑: 先把yield看做“return”, 普通的return是什么意思,就是在程序中返回某个值,返回之后程序就不再往下运行了。 看做return之后再把它看做一个是生成器(generator)的一部分(带yield的函数才是真正的迭代器), 返回的不是一个函数的输出,是一个生成器的结果
阅读全文
摘要:什么是可哈希(hashable)? 简要的说可哈希的数据类型,即不可变的数据结构(字符串str、元组tuple、对象集objects)。 哈希有啥作用? 它是一个将大体量数据转化为很小数据的过程,甚至可以仅仅是一个数字,以便我们可以用在固定的时间复杂度下查询它,所以,哈希对高效的算法和数据结构很重要
阅读全文
摘要:转义符都知道,但可能会理解不到位,或者不深入。今天在工作中,遇到了转义符的问题,记录于此,也供大伙参考。 1.问题概述 爬取到的文本段落,中间有\t \r未处理就存入数据库了(文本截取如下: '......有效性。\r次要......' ),导致后来需要刷库,而在刷库过程中, 我用的是:UPDATE
阅读全文
摘要:描述 map() 实现对一个可迭代对象中的每一个元素都应用一个函数 将被传入的函数作用到一个可迭代对象的每一个元素上,并且返回了包含了所有这些函数调用结果的一个迭代器。 由于map期待传入一个函数并会应用这个函数,它也恰好是lambda常常出现的地方之一。 语法 map() 函数语法: 参数 fun
阅读全文
摘要:如题: 给定一个数组,其中该数组中的每个元素都为字符串,删除该数组中的空白字符串。 结果: Why does “return s and s.strip()” work when using filter? 用filter()来过滤元素,如果s是None,s.strip()会报错,但s and s.
阅读全文
摘要:1. 生成器定义 在Python中,一边循环一边计算的机制,称为生成器:generator。 2. 为什么要有生成器 列表所有数据都在内存中,如果有海量数据的话将会非常耗内存。 如:仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 如果列表元素按照某种算法推算出来,那我们就可以在
阅读全文
摘要:1.默认参数 Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。 默认参数一定要用不可变对象,如果是可变对象,运行会有逻辑错误! 2.可变参数、关键字参数 (1)他们是啥?干啥的? 简单说:定义函数接收的参数可以接收任意个,或者调用函数传参数时候传任意个。 *
阅读全文
摘要:for 循环是对容器进行迭代的过程。 什么是迭代? 什么是迭代? 迭代就是从某个容器对象中逐个地读取元素,直到容器中没有更多元素为止。 for 循环的步骤是什么? for 循环的步骤是什么? 那么,哪些对象支持迭代操作?任何对象都可以吗? 那么,哪些对象支持迭代操作?任何对象都可以吗? for 循环
阅读全文
摘要:先放结论: 装饰顺序按靠近函数顺序执行,执行时由外而内。(即:执行顺序和装饰顺序相反) 话不多说,上俩栗子,就能明白咋回事。 1.装饰器完成装饰,但并不调用的输出结果 2.装饰器完成装饰,调用后的输出结果 3.解释 装饰顺序按靠近函数顺序执行:@a 靠近原函数,故先装饰它。再装饰@one。 (因为:
阅读全文
摘要:1.深拷贝VS浅拷贝 所谓浅拷贝就是对引用的拷贝 (里面的数据不拷贝出来,其中的数据与原对象里面数据用的是相同的地址空间) 所谓深拷贝就是对对象的资源的拷贝 (里面的数据拷贝出来。深拷贝有自己的存储空间,有自己定义的数据,跟原对象一点关系也没有。连根拔起) 举个例子: 浅拷贝就是拷贝电影名,深拷贝就
阅读全文

浙公网安备 33010602011771号