查看原文
其他

Python奇技淫巧,看看你知道几个

2017-12-11 刘志军 Python爱好者社区

作者:刘志军,6年+Python使用经验, 高级开发工程师,目前在互联网医疗行业从事Web系统构架工作

个人公众号:Python之禅(微信ID:vttalk)


1、isinstance

isinstance 函数可用于判断实例的类型,其实它的第二个参数可以是多个数据类型组成的元组。例如:

isinstance(x, (int, float))

# 等价于

isinstance(x, int) or isinstance(x, float)

类似的函数还有字符串的 startswith 方法和 endswith 方法,例如:

s.startswith(('"""', "'''"))

# 等价于

s.startswith("'''") or s.startswith('"""')

2、用 http.server 共享文件

# python3
python3 -m http.server

# python2
python -m SimpleHTTPServer

效果如下图所示,通过浏览器方便局域网共享文件

3、zip 函数实现字典键值对互换

>>> lang = {"python":".py", "java":".java"}

>>> dict(zip(lang.values(), lang.keys()))
{'.java': 'java', '.py': 'python'}

4、查找列表中出现次数最多的数字

[1, 2, 3, 4, 2, 2, 3, 1, 4, 4, 4, 5]
>>> max(set(test), key=test.count)
4

5、使用 __slots__ 节省内存

class MyClass(object):
   def __init__(self, name, identifier):
       self.name = name
       self.identifier = identifier
       self.set_up()

print(sys.getsizeof(MyClass))
>>> 1016

class MyClass(object):
   __slots__ = ['name', 'identifier']

   def __init__(self, name, identifier):
       self.name = name
       self.identifier = identifier
       self.set_up()

print(sys.getsizeof(MyClass))
>>> 888

Python爱好者社区历史文章大合集

Python爱好者社区历史文章列表(每周append更新一次)

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复“课程”即可获取:

0.小编的Python入门视频课程!!!

1.崔老师爬虫实战案例免费学习视频。

2.丘老师数据科学入门指导免费学习视频。

3.陈老师数据分析报告制作免费学习视频。

4.玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。

5.丘老师Python网络爬虫实战免费学习视频。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存