随笔分类 - python
摘要:pickle 模块可以对一个 Python 对象的二进制进行序列化和反序列化。说白了,就是它能够实现任意对象与二进制直接的相互转化,也可以实现对象与文本之间的相互转化。 比如,我程序里有一个 python 对象,我想把它存到磁盘里,于是我用 pickle 把他转到一个文本里。当后面我想使用的时候,读
阅读全文
摘要:关于python在面试中会被问到哪些知识点,其实这主要取决于面试官。 额,别拿刀先,马上扯正题。 从我遇到的问题当中来看,除了有少数的常见问题外,更多的还是平时需要你额外拓展学习了解的知识点: 常见问题:比如,可变/不可变数据类型、json的序列化和反序列化、对象的引用/作用域,字典的常用操作等等。
阅读全文
摘要:我闲来翻了翻几年前就买的一本python的书,O'REILLY的【python学习手册】,中译版,很厚。 可惜,我看得非常少,这也是为什么我在简历上关于python顶天也就写个熟悉,就这都担心找虐。虽说java的学习价值更大,但是学了平时用不上,忘得快。再加上做题的时候,感觉还是用python来得更
阅读全文
摘要:关于python协程这个知识点,我是在研究locust时候发现的。 locust是一款开源的性能测试工具,单机并发能力要比jmeter高,它的并发实现就是通过python协程去实现的。 说到并发,我猜你很容易想到的是多线程,其实协程也是实现并发的一种方式,只不过协程是单线程。 先上一段代码,假设我们
阅读全文
摘要:说到垃圾回收,其实这玩意在我们使用python中一直伴随左右,只不过通常我们都无感知而已。 python有着垃圾自动回收机制,没啥难的,只不过在面试的时候,可能会被面试官问到,且记录一番。 既然是垃圾,那自然是无用的东西了。大家都知道,在python中,一切皆为对象。那么,那些没有被引用 的对象,就
阅读全文
摘要:一、代码规范的意义 代码规范,这词可能在很多人感觉是熟悉又陌生。 熟悉的是,好像经常能在网上博文里看到这样的字眼。陌生的是自己在撸代码的时候好像没怎么思考过这个问题。 我虽在写代码的时候会带着注意规范,但也不是完全谨遵规范来的,因为我也不知道到底有多少规范,哈哈。 话虽如此,代码规范的重要性还是非常
阅读全文
摘要:听到递归总觉得挺高大上的,为什么呢?因为对其陌生,那么今天就来一文记住递归到底是个啥。 不过先别急,一起来看一个问题:求10的阶乘(10!)。 求x的阶乘,其实就是从1开始依次乘到x。那么10的阶乘就是 1*2*3*4*5*6*7*8*9*10 一、非递归方式求阶乘 假如,我们在没接触过递归的情况下
阅读全文
摘要:迭代器跟生成器,与上篇文章讲的装饰器一样,都是属于我的一个老大难问题。 通常就是遇到的时候就去搜一下,结果在一大坨各种介绍博客中看了看,回头又忘记了。 你是不是也是这样呢? 俗话说:好记性不如烂笔头,虽然现在基本不咋用笔写字了,但是还是要好好整理下,起码以后我就不用搜了。 如果现在给你一个列表lis
阅读全文
摘要:接上一篇【python】装饰器听了N次也没印象,读完这篇你就懂了, 终于知道python的装饰器是怎么回事,那在工作中,到底能干吗用呢? 尤其对我这个只会写写脚本又不做python开发的小测试/手动无辜脸。 先说结论,肯定是有用处滴。 一、自动化测试中使用 就拿写的自动化测试来说吧,如果我想统一的输
阅读全文
摘要:装饰器其实一直是我的一个"老大难"。这个知识点就放在那,但是拖延症。。。 其实在平常写写脚本的过程中,这个知识点你可能用到不多 但在面试的时候,这可是一个高频问题。 一、什么是装饰器 所谓的装饰器,其实就是通过装饰器函数,来修改原函数的一些功能,使得原函数不需要修改。 这一句话理解起来可能没那么轻松
阅读全文
摘要:翻了翻httprunner的源代码,越看越不对劲,感觉有点看不懂语法了。 这都什么鬼?感觉心好慌,顿时感到惭愧万分,还好意思说自己了解Python呢。 赶紧了解一下,原来这叫 type hints,是python3.5时候新增的一个特性。 函数里参数后的冒号其实是参数的类型建议,但是只是建议,就算你
阅读全文
摘要:在使用Python的过程中,一定是离不开数据结构的, 也就是List-列表,Tuples-元组,Dictionaries-字典。 那实际应用中我们更多的还是要去操作这些结构里的数据。比如,在列表后面添加元素,那么就会用到append() 方法。 那除了这些本身的操作方法之外,还有一个Python内建
阅读全文
摘要:import hashlib phone_num = open("D:/testdata/phone10.txt","r") out_file = open("D:/testdata/after_md5.txt", "w") md5 = hashlib.md5() for line in phone
阅读全文
摘要:采用集合去重,在新文件里逐行写入,达成目的 old_file = "D:/testdata/memberId.txt" #old result_file = "D:/testdata/memberId_new.txt" #new lines_seen = set() out_file = open(
阅读全文
摘要:txt内容是手机号,数量500W,采用python代码生成,用时60S,本人技能有限,看官如果有更快的写法,欢迎留言交流。 import random f = open("D:\\data.txt",'a') for i in range(1000000): m_2 = random.choice(
阅读全文