一些python实践

优雅导入模块

按如下顺序导入模块就是一种好做法:

  1. 标准库模块------比如: sysosgetoptre 等。
  2. 第三方库模块(安装于 Python site-packages 目录中的内容)------如requests、PIL.Image 等。
  3. 本地开发的模块
如何找到对象的方法或属性?

假定 x 是一个用户自定义类的实例,dir(x) 将返回一个按字母排序的名称列表,其中包含了实例的属性及由类定义的方法和属性。

逗号运算符的优先级是什么?

逗号不是 Python 的运算符。 请看以下例子:

Python 复制代码
>>> "a" in "b", "a"
(False, 'a')

由于逗号不是运算符,而只是表达式之间的分隔符,因此上述代码就相当于:

Python 复制代码
("a" in "b"), "a"

而不是:

Python 复制代码
"a" in ("b", "a")

对于各种赋值运算符( =+= 等)来说同样如此。他们并不是真正的运算符,而只是赋值语句中的语法分隔符。

如何根据另一个列表的值对某列表进行排序?

将它们合并到元组的迭代器中,对结果列表进行排序,然后选择所需的元素。

Python 复制代码
>>> list1 = ["what", "I'm", "sorting", "by"]
>>> list2 = ["something", "else", "to", "sort"]
>>> pairs = zip(list1, list2)
>>> pairs = sorted(pairs)
>>> pairs
[("I'm", 'else'), ('by', 'sort'), ('sorting', 'to'), ('what', 'something')]
>>> result = [x[1] for x in pairs]
>>> result
['else', 'sort', 'to', 'something']
相关推荐
古城小栈2 分钟前
吃透Cron表达式
linux·服务器·数据库
CesareCheung8 分钟前
用python写一个websocket接口,并用jmeter压测websocket接口
python·websocket·jmeter
猫猫的小茶馆31 分钟前
【ARM】BootLoader(Uboot)介绍
linux·汇编·arm开发·单片机·嵌入式硬件·mcu·架构
喜乐boy38 分钟前
CV系列——Conda + PyTorch + CUDA + cuDNN + Python 环境无脑安装速查笔记[2025.12]
pytorch·python·conda·cuda·cv
Yeliang Wu38 分钟前
LLaMA-Factory 模型评估理论与实战:基于 Ubuntu 22.04 的系统化指南
linux·ubuntu·llama·评估·llamafactory
生信大表哥38 分钟前
单细胞测序分析(十一)轨迹分析
linux·rstudio·数信院生信服务器·生信云服务器
@游子43 分钟前
Python学习笔记-Day6
笔记·python·学习
电饭叔44 分钟前
Luhn算法与信用卡识别完善《python语言程序设计》2018版--第8章14题利用字符串输入作为一个信用卡号之三
android·python·算法
躺着听Jay1 小时前
【1267 - Illegal mix of collations 】mysql报错解决记录
java·linux·前端
月光技术杂谈1 小时前
基于Python+Selenium的淘宝商品信息智能采集实践:从浏览器控制到反爬应对
爬虫·python·selenium·自动化·web·电商·淘宝