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))

  

 

posted @ 2017-04-13 16:49  beiguuu  阅读(186)  评论(0)    收藏  举报