
python编程技巧
书山压力大EEE
这个作者很懒,什么都没留下…
展开
-
4. 文件IO效率问题与解决技巧
一. 如何读写文本文件 实际案列 某文本文件编码格式(如UTF-8, GBK, BIG5), 在python2和python3 中分别如何读取该文件? 原理 字符串的语义变化 python2 python3 -------------------------- str -> bytes unicode -> ...原创 2018-10-17 21:53:30 · 762 阅读 · 0 评论 -
3. 对象迭代与反迭代相关问题与解决技巧
一. 如何实现可迭代对象和迭代器对象 实际案列 某软件要求, 从网络抓取各个城市气温信息, 并依次显示: 北京: 15-20 天津: 17-22 长春: 12-18 ... 如果一次抓取所有城市气温再显示, 显示第一个城市气温时, 有很高的延时, 并且浪费存储空间, 我们期望以“用时访问”的策略, 并且能把所有城市气温 封装到一个对象里, 可用for语句进行...原创 2018-10-13 21:57:40 · 179 阅读 · 0 评论 -
1.数据结构与算法相关问题与解决技巧
一. 分割字符串问题 已知字符串"ab;cd|efg|hi,jk1|mn\topq;rst,uvw\txyz", 其中的',' ';' '|' '\t' 都是分割符,如何处理? 方法1、 连续使用str.split s = "ab;cd|efg|hi,jk1|mn\topq;rst,uvw\txyz" def my_split(s, seps): res = [s] fo...原创 2018-10-08 21:47:08 · 1024 阅读 · 0 评论 -
2. 复杂场景下字符串处理相关问题与解决方法
一. 如何判断字符串a是否以字符串b开头或结尾? 实际案列 某文件系统目录下有一系列文件: quicksort.c graph.py heap.java install.sh stack.cpp 编写程序给其中所有.sh文件 和 .py文件加上用户可执行权限 解决方案 使用str.startswith() 和 str.endswith() 方法 (注意: 多个匹配时参数使用元组) ...原创 2018-10-10 22:07:51 · 258 阅读 · 0 评论 -
6. 类与对象深度深度问题与解决技巧
一. 如何派生内置不可变类型并修改其实例化行为? 实际案例 我们想要自定义一种新类型的元组, 对于传入的可迭代对象, 我们只保留作其中int类型且值大于0的元素, 例如: IntTuple([1, -1, 'abc', 6, ['x', 'y'], 3]) => (1, 6, 3) 如何继承 内置 tuple 实现 IntTuple? 原理 class A: def ...原创 2018-10-22 21:41:18 · 210 阅读 · 0 评论 -
5. 数据读写与构建相关问题和技巧
一. 如何读写csv数据 实际案例 我们编写网络爬虫从豆瓣网爬取了一些书籍的信息, 以csv数据格式存储: '''书名, 作者, 出版社, 价格 精通scrapy网络爬虫,刘硕, 清华大学出版社, 46.00 算法导论,Charles E.Leiserson, 人民邮电出版社, 85.00 Python灰帽子,Justin Seitz, 电子工业出版社, 3...原创 2018-10-20 21:09:53 · 162 阅读 · 0 评论 -
7. 多线程并发相关问题和解决技巧
一. 如何使用多线程 实际案例 https://intrinio.com/tutorial/web_api 我们通过上述网站提供的API获取了股市信息的CSV数据, 现在要下载大量CSV数据文件, 并将其转化为xml文件 如何使用线程来提高下载并处理的效率? 解决方案 使用标准库 threading.Thread 创建线程,在每一个线程中下载并转换一只股票数据 import re...原创 2018-11-02 11:21:53 · 413 阅读 · 0 评论 -
8.装饰器的使用及问题解决技巧
一. 如何使用函数装饰器 实际案例 某些时候我们想为多个函数, 统一添加某种功能, 比如计时统计, 记录日志, 缓存运算结果等等。 我们不想在每个函数内 一一 添加完全相同的代码, 有什么好的解决方案? 解决方案 # 使用缓存, 存储计算过的结果, 以减少递归次数, 避免重复计算问题 def memo(func): cache = {} def wrap(*arg...原创 2018-11-04 17:18:32 · 288 阅读 · 0 评论