range()——关注step
用法为:range(start, stop[, step])
>>> list(range(0, 10, 2))
[0, 2, 4, 6, 8]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> list(range(0, -10, 1))
[]
>>> list(range(-10, 0, 1))
[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1]
slice()——切片对象
两种用法分别为class slice(stop)
,class slice(start, stop[, step])
创建一个元组和一个切片对象。使用 step 参数返回每第三个项目:
>>> a = ("a", "b", "c", "d", "e", "f", "g", "h")
>>> y = slice(2)
>>> print(a[y])
('a', 'b')
>>> x = slice(0, 8, 3)
>>> print(a[x])
('a', 'd', 'g')
ord()——ASCII或Unicode
以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值。
>>>ord ('0')
48
>>> ord('a')
97
>>> ord('A')
65
hex()——16进制
hex()
函数用于将一个指定数字转换为 16 进制数。
返回值:返回一个字符串,以0x
开头。
>>>hex(255)
'0xff'
>>> hex(-42)
'-0x2a'
>>> hex(12)
'0xc'
dict()——创建字典的三种方式
dict()
函数用于创建一个字典。
>>>dict() # 创建空字典
{}
>>> dict(a='a', b='b', t='t') # 传入关键字
{'a': 'a', 'b': 'b', 't': 't'}
>>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
>>> dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典
{'three': 3, 'two': 2, 'one': 1}
eval()——执行字符串表达式
eval()
函数用来执行一个字符串表达式,并返回表达式的值。
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
eval()
的一个常见用法是和input()一起使用,来获取用户输入的数字:
>>> a = eval(input('请输入一个数字:'))
# 等价于a = int(input('请输入一个数字:'))
请输入一个数字:5
>>> a
5
>>> type(a)
<class 'int'>
help()——查看函数或模块的用途
help()
函数用于查看函数或模块用途的详细说明。
>>>help(a.append) # 显示list的append方法的帮助
……显示帮助信息……
>>>help('sys') # 查看 sys 模块的帮助
……显示帮助信息……
sorted()——对可迭代对象进行排序
用法:sorted(iterable, cmp=None, key=None, reverse=False)
与 list 的 sort 方法的对比: 1、sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。 2、list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
>>> students = [('john', 'A', 15), ('jane', 'C', 12), ('dave', 'B', 10)]
>>> sorted(students, key=lambda s:s[1]) # 按成绩的字典序排序
[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'C', 12)]
>>> sorted(students, key=lambda s: s[2], reverse=True) # 按年龄降序
[('john', 'A', 15), ('jane', 'C', 12), ('dave', 'B', 10)]