python内置函数it_Python内置函数

一.内置函数大全

二.内置函数详解

1、abs(x)

功能:取数的绝对值

>>> abs(-1) #取-1的绝对值

1

2、all(iterable)

功能:可迭代对象中的元素都为True,则返回True(元素除了是 0、空、False 外都算 True)。

>>> all([0,1,3]) #有0,说明为False

False

>>> all([1,-5,6]) #负数也是为True

True

3、any(iterable)

功能:可迭代对象中的元素中,有一个为True,则返回True(元素除了是 0、空、False 外都算 True)。

>>> any([0,1,2]) #有一个为True,则为True

True

>>> any([]) #空列表为False

False

4、ascii(object)

功能:类似repr()函数,把内存对象变成一个可打印的字符串格式

>>> ascii([1,2,3,4])

'[1, 2, 3, 4]'

5、bin(x)

功能:把一个整数转换成二进制

>>> bin(300) #把300转换成二进制

'0b100101100'

>>> bin(1)

'0b1'

6、bool([x])

功能:返回一个布尔值,空列表为假,不为空为真

>>> bool([]) #空列表

False

>>> bool([1,2]) #不为空列表

True

>>> bool([0])

True

7、bytearray[source[, encoding[, errors]]]

功能:字节数组,并且可以修改二进制的字节

>>> b = bytearray("abcd",encoding="utf-8") #声明一个字节数组

>>> b[0] #打印第一个元素的ascii值,也就是'a'对应的ascii值

97

>>> b[0] = 100 #修改时,只能赋值对应字符的ascii值

>>> b

bytearray(b'dbcd') #发现字节数组值被修改

8、bytes([source[, encoding[, errors]]])

功能:把字符串转换成字节

>>> b = bytes("abcd",encoding="utf-8") #声明字节

>>> b

b'abcd'

>>> b[0] #访问到'a'字符对应的ASCII值

97

>>> b[0]=100 #不可以修改里面的值,不然会报错

Traceback (most recent call last):

File "", line 1, in

TypeError: 'bytes' object does not support item assignment

9、callable(object)

功能:判断一个对象是否可以被调用,只有在后面有括号的,表示可以调用,比如:函数,类。

>>> callable([]) #列表后面不加括号

False

>>> def sayhi():pass #定义一个函数

>>> callable(sayhi) #函数调用,后面需要加括号

True

10、chr(i)

功能:通过ascii的值,找到对应的字符

>>> chr(97)

'a'

11、ord(c)

功能:根据字符,找到对应的ascii值

>>> ord('a')

97

12、classmethod(function)

功能:类方法,这个到后续谈到类的时候再说。

13、compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

功能:用于把代码编译的一个过程,这个基本用不到

>>> code = """1+3/2*6"""

>>> py_object = compile(code,'','eval') #把代码转换为字符串

>>> eval(py_object) #执行

10.0

14、complex([real[, imag]])

功能:返回一个复数,我们几乎用不到。

>>> complex('1+2j')

(1+2j)

15、delattr(object, name)

功能:类那边使用的,先不care。

16、dict(**kwarg)、dict(mapping, **kwarg)、dict(iterable, **kwarg)

功能:返回一个字典

>>> dict() #定义一个字典

{}

>>> dict(name='zhangqigao',age=18) #传入非固定关键字参数

{'name': 'zhangqigao', 'age': 18}

>>> dict([('name','zhangqigao'),('age',18)]) #传入一个列表

{'name': 'zhangqigao', 'age': 18}

>>> dict([['name','zhangqigao'],['age',18]]) #传入一个列表

{'name': 'zhangqigao', 'age': 18}

17、dir([object])

功能:看一个对象有哪些方法

>>> name = []

>>> dir(name) #显示name下的所有的方法

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__',

'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__',

'__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__',

'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__',

'__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear',

'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

18、divmod(a,b)

功能:地板除,获得一个元组,元组第一个元素是商,第二个元素是余数。

>>> divmod(5,2)

(2, 1) #2是商,1是余数

19、enumerate(iterable,start=0)

功能:遍历一个可迭代对象,获取索引和对应的元素的

>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']

>>> list(enumerate(seasons))

[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]

>>> list(enumerate(seasons, start=1))

[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

20、eval(expression, globals=None, locals=None)

功能:把字典类型的字符串变成字典,把一个整数类型的字符变成int类型,或者加减乘除这种简单转换成表达式。

>>> eval('1') #字符类型转换成int类型

1

>>> eval("1+3/2*6") #字符串转换为表达式

10.0

21、exec(object[, globals[, locals]])

功能:有语句的和复杂的语句的字符串转换成表达式

code = '''

def timmer(func): #timmer(test1) func=test1

def deco(*args,**kwargs):

res = func(*args,**kwargs) #run test1()

return res

return deco

@timmer

def test1():

print("in the test1")

return "from the test1"

res = test1()

print(res)

'''

exec(code)

#输出

in the test1

from the test1

22、filter(function, iterable)

功能:通过function过滤条件,去获取iterable中你想要的数据。

>>> res = filter(lambda n:n>5,range(10))

>>> res #得到一个迭代器

>>> for i in res:

print(i)

6

7

8

9

23、map(function, iterable)

功能:对传入的每一个值进行处理,处理完了再返回,再把原来的结果覆盖掉。

>>> res = map(lambda n:n*2,range(5)) #n*2是处理方式

>>> res

>>> for i in res:

print(i)

0

2

4

6

8

24、reduce(function,iterable)

功能:把一组可迭代序列通过function函数操作,元素之间相加或者相乘操作。

>>> from functools import reduce

>>> res = reduce(lambda x,y:x+y,range(10)) #x+y的值赋给x,rang(10)中的每个元素赋给y

>>> res

45

>>> res = reduce(lambda x,y:x*y,range(1,10)) #x*y的值赋给x,rang(10)中的每个元素赋给y

>>> res

362880

25、float([x])

功能:把一个浮点类型的字符串转换为浮点类型的数据。

>>> float('+1.23')

1.23

>>> float(' -12345\n')

-12345.0

>>> float('1e-003')

0.001

>>> float('+1E6')

1000000.0

>>> float('-Infinity')

-inf

26、format(value[, format_spec])

功能:格式化字符串,详细使用:猛击这里

27、frozenset([iterable])

功能:把集合变成一个不可变的集合

>>> res = frozenset([1,2,3,4,3])

>>> res

frozenset({1, 2, 3, 4}) #去重的,不可变的集合

>>> dir(res) #没有可变的方法

['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__',

'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__iter__', '__le__',

'__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__',

'__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__',

'__subclasshook__', '__xor__', 'copy', 'difference', 'intersection', 'isdisjoint', 'issubset',

'issuperset', 'symmetric_difference', 'union']

注:set()是可变的

28、getattr(object, name[, default])

功能:这边是类那边的,后续再讲。

29、globals()

功能:返回当前这个python文件中的所有变量的key-value,变量是key,值是value

print(globals())

#输出

{'__spec__': None, '__name__': '__main__', '__file__': 'D:/PycharmProjects/pyhomework

/day4/内置函数/内置函数.py', '__doc__': None, '__package__': None, '__loader__':

<_frozen_importlib_external.SourceFileLoader object at 0x0000000000695B00>,

'__cached__': None, '__builtins__':

注:可以判断一个文件中的变量是否存在,而globals()只能打印全局变量

30、hash(object)

功能:反射出一个对象的对应的hash值。

>>> hash('zhangqigao')

2313972277536963491

>>> hash(255)

255

>>> hash('a')

6806508886604307842

这个有什么用呐?

先看下面的图:

936656-20170328155904498-379228007.png

看上面的图我们知道,如果一张表中5百万个用户信息,以我们现在的知识,只能用for循环去查找,那样的话,效率会很低。那我们怎么办呢?我们可以这样,就是把每一个姓名对应有一对应的值,然后通过对应的key值去定位,key值是放在一个列表中,当我们去查找某个key值时,可以折半查找,这样大大减少了查找时间,提高效率,这种也叫二分法查找,后面会有对应的博客专门写这一块的。

31、help([object])

功能:显示对象的帮助信息

>>> res = [] #定义一个列表

>>> help(res) #打印帮助信息

Help on list object:

class list(object)

| list() -> new empty list

| list(iterable) -> new list initialized from iterable's items

|

| Methods defined here:

|

.....

32、hex(x)

功能:把一个数字转成16进制

>>> hex(255)

'0xff'

>>> hex(10)

'0xa'

33、id(object)

功能:返回对象的内存地址

>>> id('zhangqigao')

50993136 #'zhangqigao'这个字符串的内存地址

34、input([prompt])

功能:输入字符串

>>> s = input('--> ')

--> Monty Python's Flying Circus #输入的内容

>>> s

"Monty Python's Flying Circus"

35、int(x)

功能:把其他数据类型强制转换成int类型

>>> int('10')

10

36、isinstance(object, classinfo)

功能:这个在迭代器中使用,详情:猛击这里

37、issubclass(class, classinfo)

功能:判断是否是一个子类,这个后续讲到类那边会讲

38、iter(object[, sentinel])

功能:把一个普通序列转成迭代器

with open('mydata.txt') as fp:

for line in iter(fp.readline, ''):

process_line(line)

39、len(s)

功能:计算序列或者字符串的长度

>>> len("zhangqigao") #字符串的长度

10

>>> len([1,2,3,4,5]) #列表的长度

5

40、list([iterable])

功能:把其他序列转换成一个列表

>>> list((1,2,3,4,5)) #把一个元组转换为一个列表

[1, 2, 3, 4, 5]

41、locals()

功能:打印局部变量

def test():

locals_var = 333

print(locals()) #只打印局部变量

test()

print(globals().get("locals_var")) #只能打印全局变量

#输出

{'locals_var': 333}

None

42、max(iterable, *[, key, default])

功能:返回列表中的最大值

>>> max([1,2,3,4,5])

5

43、min(iterable, *[, key, default])

功能:返回列表中的最小值

>>> min([1,2,3,4,5])

1

44、memoryview(obj)

功能:先忘记它,暂时用不到,用到详细说明

45、next(iterator[, default])

功能:返回迭代器的下一个值,相当于__next__()方法,如果迭代最后一个数据之后没有值了,则会抛出一个StopIteration异常

>>> a = iter([1,2])

>>> next(a)

1

>>> next(a)

2

>>> next(a)

Traceback (most recent call last):

File "", line 1, in

StopIteration

46、object

功能:python中一切皆对象,每一个对象都有它的属性和方法

47、oct(x)

功能:把一个数转成8进制

>>> oct(7)

'0o7'

>>> oct(8)

'0o10'

>>> oct(15)

'0o17'

>>> oct(16)

'0o20'

48、open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

功能:文件操作,详细介绍:猛击这里

49、pow(x, y[, z])

功能:返回多少次幂

>>> pow(2,3) #相当于2**3

8

50、print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

功能:打印

>>> print("zhangqigao")

zhangqigao

51、property(fget=None, fset=None, fdel=None, doc=None)

功能:这个倒后面的类再说。

52、range(stop)、range(start, stop[, step])

功能:生成一个迭代器

>>> range(5)

range(0, 5)

>>> range(1,5)

range(1, 5)

>>> range(1,5,2)

range(1, 5, 2)

53、repr(object)

功能:把代码转成字符串对象,没什么用,这边忽略

54、reversed(seq)

功能:反转一个序列,跟列表中的reversed方法是一样的

>>> reversed([1,2,3,4,5])

#变成一个迭代器

>>> for i in reversed([1,2,3,4,5]):

... print(i)

...

5

4

3

2

1

55、round(number[, ndigits])

功能:保留float数据类型位数

>>> round(1.23344,2) #保留两位

1.23

56、set([iterable])

功能:集合,详细请见:猛击这里

57、setattr(object, name, value)

功能:这个是讲到类那边才用到的

58、slice(stop),slice(start, stop[, step])

功能:序列的切片

>>> a = [1,2,3,4,5,6]

>>> a[slice(1,3)]

[2, 3]

>>> a[1:3]

[2, 3]

59、sorted(iterable[, key][, reverse])

功能:对一个序列进行排序

>>> sorted([5,3,2,6,8])

[2, 3, 5, 6, 8]

>>> a = {1:5,6:8,3:6}

>>> sorted(a) #默认是按key排序

[1, 3, 6]

>>> sorted(a.items()) #按key排序

[(1, 5), (3, 6), (6, 8)]

>>> sorted(a.items(),key = lambda x:x[1]) #按value排序

[(1, 5), (3, 6), (6, 8)]

60、 str(object)

功能:把其他数据类型转换为字符串

>>> str(1)

'1'

61、sum(iterable[, start])

功能:求一个列表的和

>>> sum([1,2,3,4,5,6])

21

62、super([type[, object-or-type]])

功能:这个是类的继承,后续会讲

63、tuple([iterable])

功能:把其他序列转换为一个元组

>>> tuple([1,2,3,4,5])

(1, 2, 3, 4, 5)

64、type(object) 、type(name, bases, dict)

功能:查看一个对象的数据类型

>>> a = 'zhangqigao'

>>> type(a)

注:一切数据类型都是有type()方法产生,它是一切数据类型的根。

65、vars([object])

功能:返回对象的所有属性

66、zip(*iterables)

功能:zip中文意思是拉链的意思,把两个序列一一对应起来。

>>> a = [1,2,3,4]

>>> b=['a','b','c','d']

>>> for i in zip(a,b):

... print(i)

...

(1, 'a')

(2, 'b')

(3, 'c')

(4, 'd')

注:如果a的元素比b的多,则按照元素最少的那个来

67、__import__(name, globals=None, locals=None, fromlist=(), level=0)

功能:当导入的模块是一个字符串时,用__import__()

>>> import os

>>> __import__('os')

68、hasattr()

69、staticmethod()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值