abc(x)返回数字的绝对值
print(abs(-10)) #10print(abs(10)) #10
boor(x) 返回与x等价的布尔值True或Flase
print(bool(None)) #Falseprint(bool(1)) #True
dir()返回指定对象或模块obj的成员列表,如果不带参数,则返回当前作用域内所有的标识符。
print(dir(obj))#['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__',]
divmod(x,y)返回包含整商的余数的元组
print(divmod(9,4)) #(2, 1)
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
语法:enumerate(sequence, [start=0])参数:sequence -- 一个序列、迭代器或其他支持迭代对象。 start -- 下标起始位置。>>> list(enumerate(seasons, start=1)) # 下标从 1 开始[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]>>>seq = ['one', 'two', 'three']>>> for i, element in enumerate(seq):... print i, element... 0 one1 two2 three
eval() 函数用来执行一个字符串表达式,并返回表达式的值
语法:eval(expression[, globals[, locals]])参数:expression -- 表达式。 globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。 locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象>>> eval('2 + 2')4>>> n=81>>> eval("n + 4")85
exit(),quit()退出当前解释器环境
globals() 函数会以字典类型返回当前位置的全部全局变量。
>>>a='runoob'>>> print(globals()) # globals 函数返回一个全局变量的字典,包括所有导入的变量。{'__builtins__':, '__name__': '__main__', '__doc__': None, 'a': 'runoob', '__package__': None}
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()
语法:isinstance(object, classinfo)参数:object -- 实例对象。 classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。>>>a = 2>>> isinstance (a,int)True>>> isinstance (a,str)False>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 TrueTrue
locals() 函数会以字典类型返回当前位置的全部局部变量
>>>def runoob(arg): # 两个局部变量:arg、z... z = 1... print (locals())... >>> runoob(4){'z': 1, 'arg': 4} # 返回一个名字/值对的字典
map() 会根据提供的函数对指定序列做映射。
语法:map(function, iterable, ...)参数:function -- 函数,有两个参数 iterable -- 一个或多个序列>>>def square(x) : # 计算平方数... return x ** 2... >>> map(square, [1,2,3,4,5]) # 计算列表各个元素的平方[1, 4, 9, 16, 25]>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数[1, 4, 9, 16, 25]# 提供了两个列表,对相同位置的列表数据进行相加>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])[3, 7, 11, 15, 19]
pow() 方法返回 xy(x的y次方) 的值
pow(x,y) 等价于 x**y:4**2 # 结果为164**2.5 # 结果为32.0pow(x,y,z) 等价于 x**y%z:4**2.5%3 # 结果为2.0
reversed 函数返回一个反转的迭代器。
# 字符串seqString = 'Runoob'print(list(reversed(seqString)))# 元组seqTuple = ('R', 'u', 'n', 'o', 'o', 'b')print(list(reversed(seqTuple)))# rangeseqRange = range(5, 9)print(list(reversed(seqRange)))# 列表seqList = [1, 2, 4, 3, 5]print(list(reversed(seqList)))
round() 方法返回浮点数x的四舍五入值
round(80.23456, 2) : 80.23round(100.000056, 3) : 100.0round(-100.000056, 3) : -100.0
sorted() 函数对所有可迭代的对象进行排序操作
sort 与 sorted 区别:sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]>>> sorted(students, key=lambda s: s[2]) # 按年龄排序[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]>>> sorted(students, key=lambda s: s[2], reverse=True) # 按降序[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
>>>a = [1,2,3]>>> b = [4,5,6]>>> c = [4,5,6,7,8]>>> zipped = zip(a,b) # 打包为元组的列表[(1, 4), (2, 5), (3, 6)]>>> zip(a,c) # 元素个数与最短的列表一致[(1, 4), (2, 5), (3, 6)]nums = ['flower','flow','flight']for i in zip(*nums): print(i)输出结果:('f', 'f', 'f')('l', 'l', 'l')('o', 'o', 'i')('w', 'w', 'g')
bin(),oct(),int(),hex()分别将数字转换为二进制,八进制,十进制,十六进制
>> bin(123)'0b1111011'>>> oct(123)'0o173'>>> hex(123)'0x7b'>>> int(0x33)51
ord(),chr()第一个返回单个字符的ASSII码(python3支持unicode码),第二个返回某序数对应的字符
>>> chr(97)'a'>>> ord('a')97
文章词频统计例子
def getText(): with open('471228.txt','r+',encoding='utf-8') as f: f.seek(0) txt = f.read().lower()#把全部英文字符转小写 fuhao = '''"'!#$%&()*+,-./:;<=>?@[\\]^_{|}~`''' #统计所有特殊字符 for ch in fuhao: txt = txt.replace(ch,'')#把特殊字符标点替换为空格 return txthamlet = getText()words = hamlet.split()#把所有空格去掉 返回单词组成的列表sum_count = {}#创建空字典准备计数for word in words: sum_count[word] = sum_count.get(word,0) + 1 #字典的键为任意单词,值则为数量items = list(sum_count.items())#返回元组组成的列表,每一个元组是一个键值对#[('the', 2223), ('besetment', 1), ('of', 945), ('kurt', 20), ('lieders', 55), ('a', 1126)]nwe_items = sorted(items,key=lambda x:x[1],reverse=True)#按照单词频次排序,也就是每个元组的下标1位置,然后倒序n = 0#计算用for i in nwe_items[:10]:#取出频次最高的前10个 x,y = i n += 1 print("第{}名: '{}' 出现频次为 {} 次".format(n,x,y))# 第1名: 'the' 出现频次为 2223 次# 第2名: 'and' 出现频次为 1304 次# 第3名: 'to' 出现频次为 1130 次# 第4名: 'a' 出现频次为 1126 次# 第5名: 'of' 出现频次为 945 次# 第6名: 'he' 出现频次为 846 次# 第7名: 'i' 出现频次为 666 次# 第8名: 'was' 出现频次为 637 次# 第9名: 'in' 出现频次为 584 次# 第10名: 'his' 出现频次为 522 次