Python内置函数及模块总结

1.Python内置函数

abs()、delattr()、hash()、memoryview()、set()all()dict()、help()、min()、setattr()、any()、dir()、hex()、next()、slice()、ascii()、divmod()、id()、object()、sorted()、bin()、enumerate()input()、oct()、staticmethod()、bool()、eval()、int()、open()、str()、breakpoint()、exec()、isinstance()、ord()、sum()、bytearray()、filter()、issubclass()、pow()、super()、bytes()、float()、iter()、print()、tuple()、callable()、format()len()、property()、type()、chr()、frozenset()、list()range()、vars()、classmethod()、getattr()、locals()、repr()、zip()、compile()、globals()、map()reversed()import()、complex()、hasattr()、max()round()
(1)abs(x):求绝对值
(2)all(iterable):当iterable(可以为列表等)全部为真时返回True
(3)any(iterable):当iterable(可以为列表等)有一个元素为真时返回True
(4)divmod(a,b):返回商和余数对(a//b, a%b)
(5)enumerate(iterable, start=0):返回序号和值。

seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
>>>[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1))
>>>[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

(6)fiter(function, iterable)
(7)map(function, iterable):对iterable中的每个元素应用到function中。
(8)pow(base, exp[, mod]):base**exp
(9)round(number[, ndigits]):四舍五入
(10)set():set最大的特点是保证里面的key不重复。set(a) & set(b):交集,set(a) | set(b):并集
(11)sorted(iterable, *, key=None, reverse=False):排序
(12)zip(*iterables):组合;*zip() means unzip。

>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> list(zipped)
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zip(x, y))
>>> x == list(x2) and y == list(y2)
True

2.python内置模块

(1)datetime
获取当前日期和时间

from datetime import datetime
now = datetime.now()

获取指定日期和时间

from datetime import datetime
dt = datetime(2015, 4, 19, 12, 20)

datetime转换为timestamp

from datetime import datetime
dt = datetime(2015, 4, 19, 12, 20)
dt.timestamp()

timestamp转换为datetime

from datetime import datetime
t = 1429417200.0
datetime.fromtimestamp(t)  # 转换成本地时间
datetime.utcfromtimestamp(t) # 转换成格林威治时间

str转换为datetime

from datetime import datetime
dt = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')

datetime转换为str

from datetime import datetime
now = datetime.now()
now.strftime('%a, %b %d %H:%M')

datetime加减

from datetime import datetime, timedelta
>>> now = datetime.now()
>>> now
datetime.datetime(2015, 5, 18, 16, 57, 3, 540997)
>>> now + timedelta(hours=10)
datetime.datetime(2015, 5, 19, 2, 57, 3, 540997)
>>> now - timedelta(days=1)
datetime.datetime(2015, 5, 17, 16, 57, 3, 540997)

(2)collections
collections是Python内建的集合模块,提供集合类。
defaultdict
使用dict时,如果引用的Key不存在,就会抛出KeyError。如果希望key不存在时,返回一个默认值,就可以用defaultdict

>>> from collections import defaultdict
>>> dd = defaultdict(lambda: 'N/A')
>>> dd['key1'] = 'abc'
>>> dd['key1'] # key1存在
'abc'
>>> dd['key2'] # key2不存在,返回默认值
'N/A'

注意默认值是调用函数返回的,而函数在创建defaultdict对象时传入。

除了在Key不存在时返回默认值,defaultdict的其他行为跟dict是完全一样的。
OrderedDict
使用dict时,Key是无序的。在对dict做迭代时,我们无法确定Key的顺序。

如果要保持Key的顺序,可以用OrderedDict

>>> from collections import OrderedDict
>>> d = dict([('a', 1), ('b', 2), ('c', 3)])
>>> d # dict的Key是无序的
{'a': 1, 'c': 3, 'b': 2}
>>> od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> od # OrderedDict的Key是有序的
OrderedDict([('a', 1), ('b', 2), ('c', 3)])

注意,OrderedDictKey会按照插入的顺序排列,不是Key本身排序。
Counter
Counter是一个简单的计数器。

>>> from collections import Counter
>>> c = Counter()
>>> for ch in 'programming':
...     c[ch] = c[ch] + 1
...
>>> c
Counter({'g': 2, 'm': 2, 'r': 2, 'a': 1, 'i': 1, 'o': 1, 'n': 1, 'p': 1})
>>> c.update('hello') # 也可以一次性update
>>> c
Counter({'r': 2, 'o': 2, 'g': 2, 'm': 2, 'l': 2, 'p': 1, 'a': 1, 'i': 1, 'n': 1, 'h': 1, 'e': 1})

参考原文:https://www.liaoxuefeng.com/wiki/1016959663602400

发布了19 篇原创文章 · 获赞 17 · 访问量 1455

猜你喜欢

转载自blog.csdn.net/weixin_43839651/article/details/105563798