1.abs()
作用:函数返回数字的绝对值。
实例:
abs(-45) : 45
abs(100.12) : 100.12
abs(119L) : 119
2.all()
作用:用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
元素除了是 0、空、None、False 外都算 True。
实例:
>>> all(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0
True
>>> all(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
False
>>> all([0, 1,2, 3]) # 列表list,存在一个为0的元素
False
>>> all(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
True
>>> all(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
False
>>> all((0, 1, 2, 3)) # 元组tuple,存在一个为0的元素
False
>>> all([]) # 空列表
True
>>> all(()) # 空元组
True
3.any()
作用:用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。
元素除了是 0、空、FALSE 外都算 TRUE。 ************** 其和all()函数相反 *************。
实例:
>>>any(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0
True
>>> any(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
True
>>> any([0, '', False]) # 列表list,元素全为0,'',false
False
>>> any(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
True
>>> any(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
True
>>> any((0, '', False)) # 元组tuple,元素全为0,'',false
False
>>> any([]) # 空列表
False
>>> any(()) # 空元组
False
4.bin()
作用:返回一个整数 int 或者长整数 long int 的二进制表示。
实例:
>>>bin(10)
'0b1010'
>>> bin(20)
'0b10100'
5.bool()
作用:用于将给定参数转换为布尔类型,如果没有参数,返回 False。
6.callable()
作用:用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。
7.chr()和ord()
作用:前者数字转字符串,后者字符串转数字
实例:
>>> print(chr(100))
>>> d
>>> print(ord('A'))
>>> 65
8.operator运算符,
作用:cmp():用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1,在python3.X废弃,改为operator
实例:
from operator import *
a,b=1,2
print(lt(a,b)) :True
print(le(a,b)) :True
print(eq(a,b)) :False
print(ne(a,b)) :True
print(gt(a,b)) :False
print(ge(a,b)) :False
9.dir()
作用:返回当前范围内的变量、方法和定义的类型列表。
实例:
print(abs.__dir__())
print(dir([]))
>>> ['__doc__', '__subclasshook__', '__hash__', '__call__', '__getattribute__', '__new__', ......]
>>> ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__',......]
10.divmod() divmod --> divide model
作用:把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
实例:
>>>divmod(7, 2)
(3, 1)
>>> divmod(8, 2)
(4, 0)
>>> divmod(1+2j,1+0.5j)
((1+0j), 1.5j)
11.enumberate()
作用:用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
实例:
>>> for index,number in enumerate([1,2,3],1):
print(f"{index}:{number}")
>>> 1:1
2:2
3:3
11.eval()和int()
作用:eval用来执行一个字符串表达式,并返回表达式的值;int格式化字符串和数字,但是不会保留小数。
实例:
>>> x = 7
>>> print(eval( '3 * x' )) -> 21
>>> print(eval('pow(2,2)')) -> 4
>>> print(eval('x + 2')) -> 9
>>> print(eval('123.1')) -> 123.1
>>> print(eval(123.1)) -> error,eval只能转化字符串
>>> print(int(123.1)) -> 123
>>> print(int( '3 ' )) -> 3
12.execfile()
作用:execfile() 函数可以用来执行一个文件。
实例:
>>>execfile('hello.py')
hello
13.format()
作用:用于格式化函数
实例:
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
# 通过字典设置参数
site = {"name": "教程", "url": "www.baidu.com"}
print("网站名:{name}, 地址 {url}".format(**site))
# 通过列表索引设置参数
my_list = ['教程', 'www.baidu.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的
14.globals()
作用:函数会以字典类型返回当前位置的全部全局变量。
实例:
>>>a='hello'
>>> print(globals()) # globals 函数返回一个全局变量的字典,包括所有导入的变量。
{'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', '__doc__': None, 'a': 'hello', '__package__': None}
15.hasattr()、getattr()和setattr()
作用:hasattr()如果对象有该属性返回 True,否则返回 False;
getattr()如果对象有该属性返回对象属性值,否则报错;
setattr()设置属性值。
实例:
class Coordinate:
x = 10
y = -5
point1 = Coordinate()
print(hasattr(point1, 'x')) 判断属性是否存在
print(hasattr(point1, 'y'))
print(getattr(point1 , 'x')) 获取属性
setattr(point1 , 'z', 5) 设置属性
16.hash()
作用:用于获取取一个对象(字符串或者数值等)的哈希值。
实例:
>>>hash('test') # 字符串
2314058222102390712
>>> hash(1) # 数字
1
>>> hash(str([1,2,3])) # 集合
1335416675971793195
>>> hash(str(sorted({'1':1}))) # 字典
7666464346782421378
>>>
17.help()
作用:用于查看函数或模块用途的详细说明。
实例:
>> help('sys') # 查看 sys 模块的帮助
……显示帮助信息……
>>> help('str') # 查看 str 数据类型的帮助
……显示帮助信息……
>>> a = [1,2,3]
>>> help(a) # 查看列表 list 帮助信息
……显示帮助信息……
>>> help(a.append) # 显示list的append方法的帮助
……显示帮助信息……
18.hex()
作用:用于将10进制整数转换成16进制,以字符串形式表示。
实例:
>>> hex(255)
'0xff'
>>> hex(-42)
'-0x2a'
>>> hex(1L)
'0x1L'
19.id()
作用:用于获取对象的内存地址
实例:
>>> a = 'runoob'
>>> id(a)
4531887632
>>> b = 1
>>> id(b)
140588731085608
20.isinstance()和type()
作用:isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
实例:
>>> a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True
True
type() 与 isinstance()区别:
isinstance() 与 type() 区别:
-
type() 不会认为子类是一种父类类型,不考虑继承关系。
-
isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True
type(B()) == A # returns False
基本的classinfo :int,float,bool,complex,str(字符串),list,dict(字典),set,tuple
21.issubclass()
作用:用于判断参数 class 是否是类型参数 classinfo 的子类。
实例:
class A:
pass
class B(A):
pass
print(issubclass(B,A)) # 返回 True
22.iter()
作用:用来生成迭代器,传入的参数必须是可迭代对象。
实例:
>>> lst = [1, 2, 3]
>>> for i in iter(lst):
print(i)
1
2
3
23.locals()
作用:返回当前位置的全部局部变量。
实例:
>>> def runoob(arg): # 两个局部变量:arg、z
z = 1
print (locals())
>>> runoob(4)
{'z': 1, 'arg': 4} # 返回一个名字/值对的字典
24.max()和min()
作用:max返回给定参数的最大值,参数可以为序列,min则返回最小值。
实例:
>>> a='1,2,3,4'
>>> type(a) #类型为字符串
<type 'str'>
>>> max(a) #max 返回了最大值
'4'
>>> a=[1,2,3,4]
>>> type(a) #类型是列表
<type 'list'>
>>> max(a) #max函数也返回了最大值
4
>>>
>>>
>>> a=[(1,2),(2,3),(3,4)] #假设列表里面是元组构成元素呢
>>> max(a) #按照元素里面元组的第一个元素的排列顺序,输出最大值(如果第一个元素相同,则比较第二个元素,输出最大值)据推理是按ascii码进行排序的
(3, 4)
>>> a=[('a',1),('A',1)] #实验推测是按ascii码进行排序,比较 a 和 A 的值,得出a > A , 因为ascii 码里面,按照排列顺序 小 a在 A的后面
>>> max(a)
('a', 1)
>>> a=[(1,2),(2,3),(3,1)]
>>> a=[(1,3),(2,2),(3,1)] #列表里面的元素都由元组构成,元组都由数字组成,输出最大值
>>> max(a)
(3, 1)
>>> a=[(1,3),(2,2),(3,1),(3,1)]
>>> max(a)
(3, 1)
>>> a=[(1,3),(2,2),(3,1),(3,2)]
>>> max(a)
(3, 2)
>>>
>>> a=[(1,3),(2,2),(3,1),(3,'b'),('a',1)]
>>> max(a)
('a', 1)
>>> a=[(1,3),(2,2),(3,1),(3,'b'),('a',1),('f',3)]
>>> max(a)
('f', 3)
>>>
>>> a={1:2,2:2,3:1,4:'aa'} #比较字典里面的最大值,会输出最大的键值
>>> max(a)
4
示例: 返回一个字符串里按字母表排序的最长子字符串
import re
reg = re.compile('a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*')
#返回一个字符串里按字母表排序的最长子字符串
def longest(s):
print reg.findall(s)
#['abcde', 'ap', 'bcdef', '']
return max(reg.findall(s), key=len)
#加或不加效果相同
print longest('abcdeapbcdef')
25.next()
作用:返回迭代器的下一个项目。
next(iterator[, default])
- default -- 可选,用于设置在没有下一个元素时返回该默认值,如果不设置,又没有下一个元素则会触发 StopIteration 异常。
实例:
# 首先获得Iterator对象:
it = iter([1, 2, 3, 4, 5])
# 循环:
while True:
try:
# 获得下一个值:
x = next(it)
print(x)
except StopIteration:
# 遇到StopIteration就退出循环
break
26.oct()
作用:将一个整数转换成8进制字符串。
实例:
>>> oct(10)
'012'
>>> oct(20)
'024'
>>> oct(15)
'017'
27.file()
作用:文件相关操作。
-
file.read([size]):size 未指定则返回整个文件,如果文件大小 >2 倍内存则有问题,f.read()读到文件尾时返回""(空字串)。
-
file.readline():返回一行。
-
file.readlines([size]) :返回包含size行的列表, size 未指定则返回全部行。
-
for line in f: print line :通过迭代器访问。
-
f.write("hello\n"):如果要写入字符串以外的数据,先将他转换为字符串。
-
f.tell():返回一个整数,表示当前文件指针的位置(就是到文件头的比特数)。
-
f.seek(偏移量,[起始位置]):用来移动文件指针。
- 偏移量: 单位为比特,可正可负
- 起始位置: 0 - 文件头, 默认值; 1 - 当前位置; 2 - 文件尾
-
f.close() 关闭文件
28.print()
作用:打印
实例:
>>> print("www","runoob","com",sep=".") # 设置间隔符
>>> www.runoob.com
>>> for x in [1,2,3,4]:
print(x ,end='') # 设置结束符
>>> 1234
29.range()
作用:可创建一个整数列表,一般用在 for 循环中。
range(start, stop[, step])
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
实例:
如果起始值大于结束值,步长为负,为正则输出为空,反正亦然。
>>> for x in range(11,5,-2):
print(x)
>>> 11
9
7
30.reduce()
作用:会对参数序列中元素进行累积
实例:
方法一:
>>> from functools import reduce
>>> def add(x,y):
return x + y
>>> print (reduce(add, range(1, 101)))
>>> 5050
方法二:
>>> print(reduce(lambda x,y:x+y,range(1, 101)))
>>> 5050
31.reload()
作用: 用于重新载入之前载入的模块。
实例:
>>>import sys
>>> sys.getdefaultencoding() # 当前默认编码
'ascii'
>>> reload(sys) # 使用 reload
<module 'sys' (built-in)>
>>> sys.setdefaultencoding('utf8') # 设置编码
>>> sys.getdefaultencoding()
'utf8'
32.reverse()
作用: 函数用于反向列表中元素。
实例:
>>> aList = [123, 'xyz', 'zara', 'abc', 'xyz']
>>> print(aList.reverse())
>>> ['xyz', 'abc', 'zara', 'xyz', 123]
33.round()
作用: 返回浮点数x的四舍五入值
实例:
>>> round(80.23456, 2) : 80.23
>>> round(100.000056, 3) : 100.0
>>> round(-100.000056, 3) : -100.0
34.slice()
作用: 切片操作
35.sorted()和sort()
作用: 对所有可迭代的对象进行排序操作。
区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
实例:
>>>a = [5,7,6,3,4,1,2]
>>> b = sorted(a) # 保留原列表
>>> a
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]
>>> L=[('b',2),('a',1),('c',3),('d',4)]
>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # 利用cmp函数
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> sorted(L, key=lambda x:x[1]) # 利用key
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> 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)]
36.sum()
作用: 求和。
实例:
>>>sum([0,1,2])
3
>>> sum((2, 3, 4), 1) # 元组计算总和后再加 1
10
>>> sum([0,1,2,3,4], 2) # 列表计算总和后再加 2
12
37.tuple()
作用: 将列表转换为元组。
实例:
>>>tuple([1,2,3,4])
(1, 2, 3, 4)
>>> tuple({1:2,3:4}) #针对字典 会返回字典的key组成的tuple
(1, 3)
>>> tuple((1,2,3,4)) #元组会返回元组自身
(1, 2, 3, 4)