一些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 分钟前
风控指标平台实战:大数据量下如何设计分批处理
开发语言·数据库·python
2301_782040457 分钟前
JavaScript中丢失的this:回调函数中指向改变的对策
jvm·数据库·python
2301_818008449 分钟前
MySQL从库出现数据同步异常中断_重新获取binlog坐标同步
jvm·数据库·python
四维迁跃10 分钟前
MySQL如何优雅处理数据库连接池耗尽_HikariCP与连接数调优
jvm·数据库·python
X566123 分钟前
Go语言如何做Helm Chart_Go语言Helm打包部署教程【收藏】
jvm·数据库·python
szccyw026 分钟前
如何阻止 HTML 页面在 JavaScript 执行完成前渲染
jvm·数据库·python
forEverPlume27 分钟前
Go语言怎么做链路追踪_Go语言分布式链路追踪教程【精选】
jvm·数据库·python
abc123456sdggfd31 分钟前
golang如何操作Elasticsearch搜索引擎_golang操作Elasticsearch方法
jvm·数据库·python
盼小辉丶31 分钟前
PyTorch强化学习实战(6)——交叉熵方法详解与实现
人工智能·pytorch·python·强化学习
计算机毕业编程指导师31 分钟前
【计算机毕设选题推荐】基于Hadoop+Spark的诺贝尔奖可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 数据挖掘
大数据·hadoop·python·计算机·spark·毕业设计·诺贝尔奖