分享

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

 周磊0 2017-11-23

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多