知乎专栏《Python实践之路》
- https://zhuanlan.zhihu.com/python2018, 文章目录:docs, 代码目录: practice
- Python实践1-Python自动化测试常用库整理
- Python实践2-用Paramiko实现互信主机间的文件传输
- Python实践3-用Tenacity提高自动化测试工具的健壮性
- Python实践4-守护线程
- Python实践5-Python的特点
- Python实践6-模块结构和布局
- Python实践7-布尔值False
- Python实践8-Python的那些命令行选项
- Python实践9-检查文件是否存在
- Python实践10-doctest简介
- Python实践11-装饰器本质
- Python实践12-带参数的装饰器和多层装饰
- Python实践13-正则表达式
- Python实践14-filter()函数
- Python实践15-map()函数
- Python实践16-reduce()函数
- Python实践17-进程池
- Python实践18-可迭代对象和迭代器
- Python实践19-生成器
- Python实践20-闭包简介
- Python实践21-PEP 8代码规范整理
- Python实践22-classmethod和staticmethod
- Python实践23-
__call__
()和callable() - Python实践24-偏函数
- Python实践25-sorted()函数
- Python实践26-使用sorted()函数对字典进行排序
- Python实践27-locals()和globals()
- Python实践28-eval()和名称空间
- Python实践29-__future__模块
- Python实践30-合并字典
- Python实践31-用virtualenv构建Python2和Python3的运行环境
- Python实践32-PyCharm里使用pipenv创建的环境
- Python实践33-为什么要用namedtuple
- Python实践34-读写yaml文件
- Python实践35-引用计数 del 垃圾回收和循环引用
- Python实践36-用setdefault和defaultdict实现项目出现次数的统计
- Python实践37-统计序列中元素的个数
- Python实践38-魔术方法repr
- Python实践39-魔法方法bool
- Python实践40-for和while语句里面的else
- Python实践41-过时的threadpool
- Python实践42-元类快速入门
- Python实践43-sklearn环境安装
- Python实践44-如何实现switch-case
- Python实践45-threadpool任务的多参数和结果收集
- Python实践46-用requests-html获取城区名
- Python实践47-选择Python2还是Python3
- Python实践48-使用records库操作MySQL数据库
- Python实践49-用untangle将xml解析成Python对象
- Python实践50-用xmltodict将xml转换成字典
- Python实践51-特殊方法__getattr__和__getattribute__
- Python实践52-JSON序列化
- Python实践53-内置json模块和simplejson
- Python实践54-又一个json第三方库demjson
- Python实践55-pickle序列化
- Python实践56-使用装饰器为你的函数计时
- Python实践57-用timeit模块计时
- Python实践58-性能调优之cProfile
- Python实践59-性能调优之代码里面调用cProfile
- Python实践60-性能调优之pstats模块
- Python实践61-configparser模块简介
- Python实践62-列表切片知识点1
- Python实践63-为什么不建议切片时同时指定start, end和stride
- Python实践64-设计并开发链家网爬虫1
- Python实践65-同时支持Python2和Python3
- Python实践66-设计并开发链家网爬虫2
- Python实践67-设计并开发链家网爬虫3
- Python实践68-用xlrd读取Excel文件
- Python实践69-用xlwt写Excel文件
- Python实践70-用xlutils操作Excel
- Python实践71-解决名称冲突的两种方法
- Python实践72-用StringIO在内存中读写字符串
代码
- 使用Paramiko远程登录免密码登录的机器:paramiko_with_key.py
- 对字典进行排序: sort_dict.py
- locals()和globals()函数: locals_globals.py
- eval和全局局部名称空间: eval_globals_locals.py
- eval把字符串转换成list, dict, tuple: eval_str.py
- namedtuple: namedtuple_sample.py
- 用不到 50 行的 Python 代码构建最小的区块链: simple_block_chain.py
- 使用defaultdict提供默认值: defaultdict_sample.py, setdefault_sample.py
- 统计列表项出现的次数:count_sample.py, counter_sample.py
- 检查文件是否存在:file_dir_exists.py
- asyncio协程爬取B站: asyncio_sample.py
- 多线程爬取B站:thread_sample.py
- 线程池爬取B站:threadpool_sample.py
- 元类解释:user_metaclass.py
- 使用records第三方库操作MySQL:records_mysql.py
- untangle将xml转换成python对象: untangle_xml.py
list
- 检查列表是否为空的最好方法: check_list_empty.py
- 将字符串逐字或者逐词翻转: reverse_word.py
dict
- 求字典的交并差集合: dict_viewitems.py
类的语法
- str()和repr()的区别: str_and_repr.py
- global_var.py: 在函数中使用全局变量
- split_list_to_chunk.py: 把列表分隔成同样大小的块
- is_digit.py: 检查字符串是不是数字
- yesterday_tomorrow.py: 计算昨天和明天的日期
- last_friday.py: 寻找上一个星期五
- get_line_1.py: 根据指定的行号,从文本文件中读取一行数据
- get_line_2.py: 根据指定的行号,从文本文件中读取一行数据
- get_line_count_1.py: 计算文件行数
- get_line_count_2.py: 计算文件行数
- shuffle_list.py: 用随机顺序处理列表中的元素
- printf_in_python.py: 在python中使用printf
- 2d_array_exchange.py: 二维阵列变换
- return_elem_for_index.py: 如果列表中存在指定索引,就返回该索引的元素
- break_out_of_nested_loops.py: 从多重循环中退出
- use_all_for_import.py: 显示有限的接口到外部
- filter_sample.py: filter的用法
- __doc__sample.py: __doc__的用法
- __iter__sample.py: iter 方法会返回一个迭代器iterator
有用的命令行脚本 python_command
- start_http_server.sh: 一行命令启动一个用于分享文件的http服务器
语法样例 syntax
- for_else.py: 用for else语句查找素数
- if_else.py: 把if else写在同一行
- switch_with_lambda.py: 用lambda模拟switch语句
- chaining_comparison.py: 链式比较运算符
- swap_variables.py: 快速交换变量的值
- list_copy.py: 完全复制列表,而不是源列表的引用
- list_dict_set_comprehension.py: 列表推导,字典推导,集合推导
- set_duplicate_intersection_difference.py: 查找列表中重复的元素,两个集合求交,求异
- call_asterisk_param.py: 函数调用时,参数使用星号
- double_asterisk_param.py: 函数定义和调用时用两个星号
- list_in_class.py: 类中的列表成员变量是所有对象共享
- kwargs_param.py: 在使用kwargs参数中如果获得键值对
- multi_exception_in_one_line.py: 一行里捕捉多个异常
- static_var_of_class.py: 类的静态变量
- range_vs_xrange.py: range和xrange的使用
- list_and_generator.py: 用range生成list和generator
- higher_order_function.py: 高阶函数
- dir_function.py: dir()和__dir__()函数
- eq_function.py: 函数__eq__()用于判断对象内容是否相等
- underscore.py: 使用下划线忽略不关心的变量
- infile_replace.py: 文本文件中替换字符串
- dict_get.py: 访问字典中键值的两种方法
- exec_eval.py: exec和eval函数的用法
- repr_sample.py: repr函数用来取得对象的规范字符串表示
- apply_func.py: 展示如何使用apply函数
- pass_func_as_param2.py: 将函数作为参数传入
- func_return_func.py: 函数返回另一个函数
- func_return_lambda.py: 返回lambda函数的函数
- user_defined_exception.py: 用户自定义异常类
- user_named_exception_class.py: 用户自定义的异常类
- enumerate.py: 循环访问序列中的元素和索引
- named_slice.py: 命名切片
- zip_reverse_dict.py: 使用zip反转字典
- merge_lists.py: 合并列表
- inner_class.py: 内部类
- dynamic_class.py: 根据参数动态生成类
有用的模块 modules
- paramiko_download_file.py: 远程下载文件
- paramiko_remote_exec.py: 远程执行命令
- paramiko_upload_file.py: 远程上传文件
- requests_sample.py: 易用的http网络库
- download_sample.py: 下载文件并保存
- tar_file.py: 压缩和解压*.tar.gz文件
- zip_file.py: 压缩和解压*.zip文件
- config_parser.py: 读取ini配置文件
- csv_sample.py: 读写csv文件
- decimal_sample.py: 十进制数学计算
- openpyxl_read.py: 读取excel文件
- openpyxl_write.py: 写入excel文件
- 线程池的例子: threadpool_sample.py
- 使用sysconfig: sysconfig_sample.py
- 用etree读写xml: etree_sample.py
装饰器 decorator
- time_this.py: 记录函数执行时间的装饰器
- log_it.py: 记录函数函数名和调用参数的装饰器
内置模块和函数 standard
- is_a_string.py: 判断一个值是否为string
- string_format.py: 用str.format格式化字符串
- string_template.py: 用string.Template格式化字符串
- ord_chr.py: 获得字符的ascii码值
- find_in_index.py: 在字符串中查找字串
- difflib_data.py: 比较序列,特别是文本文件
- stringio_and_cstringio.py: 使用file API来存取内存中的文本内容
- pprint_data.py: 格式化打印
- dir_copy.py: 复制文件夹
- dir_delete.py: 删除文件夹
- file_copy.py: 复制文件
- file_rename.py: 文件重命名
- file_archive.py: 文件压缩
- clock_time.py: 计算CPU用时和间隔时间
- copy_1.py: 返回具有同样内容和属性的对象的拷贝
- copy_2.py: 深度拷贝,对象中的属性和内容被分别和递归地拷贝
- min_max.py: 用heapq求最大最小元素
- thread_pool.py: 一行代码实现多线程/多进程
- defaultdict_sample.py: 演示使用defaultdict提供默认值
- platform_sample.py: 获取系统平台信息
- sys_args.py: 获取系统参数信息
- random_sample.py: 随机函数
令人迷惑的语法
- default_list_param.py: 变化的函数默认参数
- defaultdict_tree.py: 用缺省字典表示简单的树
- class_static_var.py: 类静态变量
BKM
- 获得hostname: get_host_name.py
- 日期字符串:date_string.py