python_内置函数
以下是python3的方法,是内置的函数方法。点击查看内置函数方法

1.abs()获取绝对值,将负数都转为正数
print(abs(-10)) #10 print(abs(0)) #0 print(abs(10.223)) #10
2.all接受一个可迭代的,如果迭代器中的所有元素都为真,那么返回True,否则返回Flase
print(all(['',1,None,True])) Flase print(all([1,True,3,9])) True
3.any()接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False
print(any([1,2,3,''])) True
4. ascii() 调用对象的__repr__()方法,获得该方法的返回值.
5.bin()二进制的转换
>>> bin(10) '0b1010' >>> bin(127) '0b1111111'
6.oct()八进制转换
>>> oct(30) '0o36' >>> oct(100) '0o144'
7.hex()十六进制转换
>>> hex(100) '0x64'
8.bool()检测一个值是True还是Flase
print(bool(''))
print(bool({}))
print(bool([]))
print(bool(()))
print(bool(0))
print(bool(None))
其余的都为True
9.bytes()将一个字符串转换成字节类型
a = 'aaa'
print(bytes(a,encoding='utf-8'))
10.str() 将字符类型/数值类型等转换为字符串类型,还可以将字节转换成
>>>str(b'\xe7\x8e\x8b',encoding='utf-8') #字节转换成字符串 '王' >>>str(1) '1'
11.challable() 判断对象是否可以被调用,能被调用的对象就是一个challzble对象
print(callable(l)) #是上面定义的函数 >>True print(callable(max)) #内置函数 >>True print(callable([1,2,3,4])) #不可调用 >>False
12.chr() 查看十进制数对应的ASCII字符
>>>chr(90) 'Z' >>>chr(6) '\x06' >>>chr(40) '<'
13.ord()查看某个ASCII对应的十进制数
>>>ord('a')
97
>>>ord('A')
65
14.classmethod() ********************************下面的这些都在面向对象中讲
15.staticmethod()
16.property()
17.delattr
18.hasattr
19.getattr
20.setattr
21.issubclass
22.super
23.complie() 将字符串编译成python能识别或可以执行的代码,也可以将文字读成字符串再编译
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1) 将source编译为代码或者AST对象。代码对象能过通过exec语句来执行或者eval()进行求值。 参数source:字符串或者AST(abstract syntax trees)对象。 参数filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。 参数model:指定编译代码的种类。可以指定'exec', 'eval', 'single'。 参数flag和dont_inherit:这两个参数为可选参数。
>>> s = "print('helloworld')"
>>> r = compile(s, "<string>", "exec")
>>> r
<code object <module> at 0x000001C648038390, file "<string>", line 1>
24.complex()
25.dict()创建字典数据
b = dict(one=1,two=2)
print(b)
# {'two': 2, 'one': 1}
c = dict({'two': 2, 'one': 1})
print(c)
#{'two': 2, 'one': 1}
26.dir不带参数时返回当前范围内的变量,方法和定义的类型列表,带参数时返回参数的属性,方法列表
print(dir())
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
print(dir('aaa')) #使用的是字符串,返回的就是字符串的方法
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
27.divmod()分别取商和余数
a = 100
b = 33
print(divmod(a,b)) #这个方法可以用在web页面做分页的功能上
(3, 1)
28.enumerate() 返回一个可以枚举的对象,该对象的next()方法将返回一个元组
li = ['a','b','c','d']
for k,v in enumerate(li,10): #可以传值,也可以不用传值,不传值是从0开始
print(k,v)
#结果:
10 a
11 b
12 c
13 d
29.eval() 将字符串str当成有效的表达式来求值并返回计算结果。
可以把list,tuple,dict和string相互转化。
#################################################
字符串转换成列表
>>>a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
>>>type(a)
<type 'str'>
>>> b = eval(a)
>>> print b
[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]
>>> type(b)
<type 'list'>
#################################################
字符串转换成字典
>>> a = "{1: 'a', 2: 'b'}"
>>> type(a)
<type 'str'>
>>> b = eval(a)
>>> print b
{1: 'a', 2: 'b'}
>>> type(b)
<type 'dict'>
#################################################
字符串转换成元组
>>> a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
>>> type(a)
<type 'str'>
>>> b = eval(a)
>>> print b
([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))
>>> type(b)
<type 'tuple'>
30.exec() 执行字符串或complie方法编译过的字符串,没有返回值
31.filter() filter遍历序列中的每个元素,判断每个元素得到布尔值,如果是True则留下来
people=[
{'name':'yang','age':1000},
{'name':'liu','age':10000},
{'name':'yuan','age':9000},
{'name':'feng','age':18},
]
print(list(filter(lambda p:p['age']<=18,people)))
#输出结果:
[{'name': 'feng', 'age': 18}]
--------------------------------------------------------------------------
pop = ['li_sb', 'sb_liu_sb', 'sb_zhang_sb', 'yang']
# def re(n):
# return n.endswith('sb')
def mo(func,array):
li = []
for i in array:
if not func(i):
li.append(i)
return li
print(mo(lambda n:n.endswith('sb'),pop))
#输出结果:
['yang']
# 使用filter()方法
# filter()内置函数:取反,如需取正需在not
print(list(filter(lambda n:not n.endswith('sb'),pop)))
#输出结果:
['yang']
32.float() 讲一个字符串或整数转换为浮点数
print(float(12))
#输出结果:
12.0
print(float('2123')) #还可以将字符串类型的转换成float
#输出结果
2123.0
33.format() 格式化输出字符串
>>> "I am {0}, I like {1}!".format("wang", "moon")
'I am wang, I like moon!'
34.forzenset() 创建一个不可修改的集合
1 frozenset([iterable]) 2 set和frozenset最本质的区别是前者是可变的,后者是不可变的。当集合对象会被改变时(例如删除,添加元素),只能使用set, 3 一般来说使用fronzet的地方都可以使用set。 4 参数iterable:可迭代对象。
f=frozenset({1,2,3,4})
# print(type(f))
#结果:
<class 'frozenset'>
35.globals()返回一个描述当前全局变量的字典
{'__builtins__': <module 'builtins' (built-in)>, '__cached__': None, 'a': 1, '__spec__': None, '__file__': 'C:/Users/Administrator/PycharmProjects/python/py_fullstack_S4/day25/内置函数.py', '__package__': None, '__doc__': None, '__name__': '__main__', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x00000000009F5A90>}
36.hash() 哈希值
1 hash(object) 2 如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数,在字典查找中,哈希值用于快递比价字典的键。 3 两个数值如果相等,则哈希值也相等。
37.help() 查帮助
38.id() 查看对象的内存地址
39.input()获取用户输入的内容
40.int() 将一个字符串或数值转换为一个普通整数
int([x[,radix]]) 如果参数是字符串,那么它可能包含符号和小数点。参数radix表示转换的基数(默认是10进制)。 它可以是[2,36]范围内的值,或者0。如果是0,系统将根据字符串内容来解析。 如果提供了参数radix,但参数x并不是一个字符串,将抛出TypeError异常; 否则,参数x必须是数值(普通整数,长整数,浮点数)。通过舍去小数点来转换浮点数。 如果超出了普通整数的表示范围,一个长整数被返回。 如果没有提供参数,函数返回0。
41. isinstance() 检查对象是否是类的对象,返回True或False
isinstance(obj, cls)
#检查obj是否是类cls的对象, 返回True 或 False
class Foo(object):
pass
obj = Foo()
isinstance(obj, Foo)
42.iter()
1 iter(o[, sentinel]) 2 返回一个iterator对象。该函数对于第一个参数的解析依赖于第二个参数。 3 如果没有提供第二个参数,参数o必须是一个集合对象,支持遍历功能(__iter__()方法)或支持序列功能(__getitem__()方法), 4 参数为整数,从零开始。如果不支持这两种功能,将处罚TypeError异常。 5 如果提供了第二个参数,参数o必须是一个可调用对象。在这种情况下创建一个iterator对象,每次调用iterator的next()方法来无 6 参数的调用o,如果返回值等于参数sentinel,触发StopIteration异常,否则将返回该值。
43.len() 获取对象的长度,参数可以是序列类型(字符串,列表,元祖)或映射类型(字典)
li = [1,2,3,4,5]
#结果:5
st = 'sfd'
#结果:3
tu = (1,2,)
#结果:2
dic = {'a':1,'b':2,'c':3}
#结果:3
44.list() 列表构造函数
1 list([iterable]) 2 list的构造函数。参数iterable是可选的,它可以是序列,支持编译的容器对象,或iterator对象。 3 该函数创建一个元素值,顺序与参数iterable一致的列表。如果参数iterable是一个列表,将创建 4 列表的一个拷贝并返回,就像语句iterables[:]。
45.locals() 打印当前可用的局部变量的字典
>>> def test(arg):
#函数 foo 在它的局部名字空间中有两个变量:arg(它的值被传入函数),和 z(它是在函数里定义的)。
z = 1
print locals()
>>> test(4)
#locals 返回一个名字/值对的字典。这个字典的键字是字符串形式的变量名字,字典的值是变量的实际值。
#所以用 4 来调用 foo,会打印出包含函数两个局部变量的字典:arg (4) 和 z (1)。
{'z': 1, 'arg': 4}
>>> test('doulaixuexi')
#locals 可以用于所有类型的变量。
{'z': 1, 'arg': 'doulaixuexi'}
46.map() 处理序列中的每个元素,得到的结果是一个‘列表’,该‘列表’元素个数及位置与原来一样
# num = [1,2,5,4,8,6,11,7]
# def map_test(func,array): #func:函数 #array:可迭代对象
# li = []
# for i in array:
# str = func(i)
# li.append(str)
# return li
# print(map_test(lambda x:x+1,num))
num = 'yangxiangshishui'
# #map():内置函数
# print(list(map(lambda x:x*2,num)))
res=map(lambda x:x.upper(),num)
#只能使用一次
print('内置函数map,处理结果',res)
# for i in res:
# print(i)
print(list(res))
47.max() 返回元素中最大值
dic = {
'yang':100000,
'liu':7000,
'zhang':1000,
'huang':2000,
'li':1000,
}
print(max(dic,key=lambda k:dic[k]))
#结果:
yang
48.min() 返回元素中最小值
dic = {
'yang':100000,
'liu':7000,
'zhang':1000,
'huang':2000,
'li':1000,
}
print(min(dic,key=lambda k:dic[k]))
#结果:
li
49.next() 返回一个可迭代数据结构(如列表)中的下一项
li = [1,2,3,4,5,6,7] l = li.__iter__() print(next(l))
50.object()
1 获取一个新的,无特性(geatureless)对象。Object是所有类的基类。它提供的方法将在所有的类型实例中共享。 2 该函数时2.2.版本新增,2.3版本之后,该函数不接受任何参数。
51.open() 打开文件
open(filename [, mode [, bufsize]]) 打开一个文件,返回一个file对象。 如果文件无法打开,将处罚IOError异常。 应该使用open()来代替直接使用file类型的构造函数打开文件。 参数filename表示将要被打开的文件的路径字符串; 参数mode表示打开的模式,最常用的模式有:'r'表示读文本,'w'表示写文本文件,'a'表示在文件中追加。 Mode的默认值是'r'。 当操作的是二进制文件时,只要在模式值上添加'b'。这样提高了程序的可移植性。 可选参数bufsize定义了文件缓冲区的大小。0表示不缓冲;1表示行缓冲;任何其他正数表示使用该大小的缓冲区; 负数表示使用系统默认缓冲区大小,对于tty设备它往往是行缓冲,而对于其他文件往往完全缓冲。如果参数值被省却。 使用系统默认值。
52.pow() 幂函数 x**y % z 可以写三个值
print(pow(2,4,3))
53.print() 打印
54.range() 根据需要生成一个指定范围的数字,可以提供你需要的控制来迭代指定的次数
用于创建包含连续算术值的列表(list)。常用于for循环。参数必须是普通整数。 参数step默认值为1,参数start的默认值为0。 全参数调用该函数将返回一个普通整数列表。 step 可以是正整数或者负整数。不可以为0,否则将处罚ValueError异常。 range(3)代表0,1,2.等价于range(0,3) >>> range(0,10,2) #第一个参数是起始数,第二个是终止数(不包含这个),第三个数步数 >>>[0,2,4,6,8]
for i in range(10):
print(i)
55.repr() 将任意值转换为字符串,供计时器读取的形式
56.reversed() 反转
li = [1,2,3,4,5,6]
l = reversed(li)
for i in l:
print(i)
57.round() 四舍五入
print(round(1.5)) #2 print(round(1.3)) #1
58.slice() 切片功能
59.sorted() 排序
l = [1,2,65,45,73,2,-47,100]
print(sorted(l)) #从小到大排序
li = reversed(sorted(l)) #加上reversed就是从大到小
for i in li:
print(i)
60.sum() 求和
l = [1,2,65,45,73,2,-47,100] print(sum(l))
61.type() 查看类型
l = [1]
tu = (1,2,3,4)
dic = {'a':1}
se = {1,2,33,4}
st = 'weeq'
num = 1
print(type(l)) <class 'list'>
print(type(tu)) <class 'tuple'>
print(type(dic)) <class 'dict'>
print(type(se)) <class 'set'>
print(type(st)) <class 'str'>
print(type(num)) <class 'int'>
62. zip() 将对象逐一配对
list_1 = [1,2,3] list_2 = ['a','b','c'] s = zip(list_1,list_2) print(list(s)) 运行结果: [(1, 'a'), (2, 'b'), (3, 'c')]
a = [(1,),(2,),(3,)] r = zip(*a) print(list(r)) 运行结果: [(1, 2, 3)] print(list(r)[0]) 运行结果: (1, 2, 3)
63.reduce()reduce:处理一个序列,然后把序列进行合并操作
from functools import reduce print(reduce(lambda x,y:x+y,range(100),100)) print(reduce(lambda x,y:x+y,range(1,101)))
1. # num = [1,5,4,7,6,3] # def nums(array): # li = 0 # for i in array: # li+=i # return li # print(nums(num)) 2. # num = [1,5,2] # def test(x,y): # return x*y # def nums(func,array): # li = array.pop(0) # for i in array: # li=func(i,li) # return li # print(nums(test,num)) 3. # num = [2,5,4] # # lambda x,y:x*y # def nums(func,array): # li = array.pop(1) # for i in array: # li=func(i,li) # return li # print(nums(lambda x,y:x*y,num)) 4. # num = [2,5,4] # # lambda x,y:x*y # # nums(func,array,init) # # 第一个参数是传的算法的函数 # #第二个参数是可迭代的对象 # #第三个参数是被+-*/的数。不被写死,可随意定义数值 # def nums(func,array,init): # if init is None: #判断init是否为None # li = array.pop(1) #是None的话,就取数组中的下标为1的数为基数 # else: # li=init #不是None即可定义数值 # for i in array: #遍历数组, # li=func(i,li) #func(i,li):将函数的x,y写进来 # return li #得到结果返回值 # print(nums(lambda x,y:x*y,num,2)) 5. #reduce()内置函数的前提,需要引入下面语句 # from functools import reduce # num = [2,5,4] # print(reduce(lambda x,y:x*y,num,2))

浙公网安备 33010602011771号