您的位置:首页 > 编程语言 > Python开发

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

2018-01-11 20:32 489 查看
2018-01-07 刘志军

小象



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


-END-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: