python内置函数方法详解整理_python内置函数简单归纳

做python小项目的时候发现熟练运用python内置函数,可以节省很多的时间,在这里整理一下,便于以后学习或者工作的时候查看.函数的参数可以在pycharm中ctrl+p查看。

1.abs(x):返回数字的绝对值

print ("abs(-40) :", abs(-40))print ("abs(100.10) :", abs(100.10))"""结果:

abs(-40) : 40

abs(100.10) : 100.1"""

2.dict():创建一个字典

>>>dict() #创建空字典

{}>>> dict(a='a', b='b', t='t') #传入关键字

{'a': 'a', 'b': 'b', 't': 't'}>>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) #映射函数方式来构造字典

{'three': 3, 'two': 2, 'one': 1}>>> dict([('one', 1), ('two', 2), ('three', 3)]) #可迭代对象方式来构造字典

{'three': 3, 'two': 2, 'one': 1}>>>

3.min():返回给定参数的最小值,参数可以为序列

print ("min(80, 100, 1000) :", min(80, 100, 1000))print ("min(-20, 100, 400) :", min(-20, 100, 400))print ("min(-80, -20, -10) :", min(-80, -20, -10))print ("min(0, 100, -400) :", min(0, 100, -400))"""结果:

min(80, 100, 1000) : 80

min(-20, 100, 400) : -20

min(-80, -20, -10) : -80

min(0, 100, -400) : -400"""

4.setattr():对应函数getattr,用于设置属性值,该属性不一定存在

>>>classA(object):

... bar= 1...>>> a =A()>>> getattr(a, 'bar') #获取属性 bar 值

1

>>> setattr(a, 'bar', 5) #设置属性 bar 值

>>>a.bar5

#属性不存在的时候会创建一个新的对象属性,并对属性赋值

>>>classA():

... name= "runoob"...>>> a =A()>>> setattr(a, "age", 28)>>> print(a.age)28

>>>

5.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

6.dir():函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

>>>dir() #获得当前模块的属性列表

['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']>>> dir([ ]) #查看列表的方法

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']>>>

7.hex():将一个指定数字转化为16进制数

>>>hex(255)'0xff'

>>> hex(-42)'-0x2a'

>>> hex(12)'0xc'

>>> type(hex(12)) #字符串

8.next():返回迭代器的下一个项目

#首先获得Iterator对象:

it = iter([1, 2, 3, 4, 5])#循环:

whileTrue:try:#获得下一个值:

x =next(it)print(x)exceptStopIteration:#遇到StopIteration就退出循环

break

9.slice():实现切片对象,主要用在切片操作函数里的参数传递

>>>myslice = slice(5) #设置截取5个元素的切片

>>>myslice

slice(None,5, None)>>> arr = range(10)>>>arr

[0,1, 2, 3, 4, 5, 6, 7, 8, 9]>>> arr[myslice] #截取 5 个元素

[0, 1, 2, 3, 4]>>>

10.any():

用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True。

元素除了是 0、空、FALSE 外都算 TRUE。

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

11.divmod():接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)。

>>> divmod(7, 2)

(3, 1)>>> divmod(8, 2)

(4, 0)>>> divmod(8, -2)

(-4, 0)>>> divmod(3, 1.3)

(2.0, 0.3999999999999999)

12.id():用于获取对象的内存地址

>>>a = 'runoob'

>>>id(a)4531887632

>>> b = 1

>>>id(b)140588731085608

13.sorted():对所有可迭代对象进行排序操作,sort只用于列表

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

[1, 2, 3, 4, 5] #默认为升序

>>>sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})

[1, 2, 3, 4, 5]#倒序

>>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]>>> result_list = sorted(example_list, key=lambda x: x*-1)>>> print(result_list)

[7, 6, 5, 4, 3, 2, 1, 0]>>>

>>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]>>> sorted(example_list, reverse=True)

[7, 6, 5, 4, 3, 2, 1, 0]

14.ascii():类似 repr() 函数, 返回一个表示对象的字符串, 但是对于字符串中的非 ASCII 字符则返回通过 repr() 函数使用 \x, \u 或 \U 编码的字符。 生成字符串类似 Python2 版本中 repr() 函数的返回值。

>>> ascii('runoob')"'runoob'"

15.enumerate():用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']>>>list(enumerate(seasons))

[(0,'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]>>>list(enumerate(seasons, start=1)) #小标从 1 开始

[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')#for循环使用

>>>seq = ['one', 'two', 'three']>>>for i, element inenumerate(seq):

...print(i, seq[i])

...

0 one1two2three>>>

16.oct():将一个整数转化为8进制字符串

>>>oct(10)'012'

>>> oct(20)'024'

>>> oct(15)'017'

>>>

17.bin():返回一个整数int或者长整数long int的二进制表示

>>>bin(10)'0b1010'

>>> bin(20)'0b10100'

18.eval():执行一个字符串表达式,并返回表达式的值

>>>x = 7

>>> eval( '3 * x')21

>>> eval('pow(2,2)')4

>>> eval('2 + 2')4

>>> n=81

>>> eval("n + 4")85

19.执行储存在字符串或文件中的python语句,相比eval,exec可以执行更复杂的python代码

实例1:>>>exec('print("Hello World")')

Hello World#单行语句字符串

>>> exec("print ('runoob.com')")

runoob.com#多行语句字符串

>>> exec ("""for i in range(5):

... print ("iter time: %d" % i)

...""")

iter time: 0

iter time:1iter time:2iter time:3iter time:4实例2:

x= 10expr= """z = 30

sum = x + y + z

print(sum)"""

deffunc():

y= 20

exec(expr)exec(expr, {'x': 1, 'y': 2})exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})

func()#结果

60

33

34

20.isinstance():判断一个对象是否是一个已知的类型,考虑继承

>>>a = 2

>>>isinstance (a,int)

True>>>isinstance (a,str)

False>>> isinstance (a,(str,int,list)) #是元组中的一个返回 True

True#type()和isinstance()的区别

classA:pass

classB(A):passisinstance(A(), A)#returns True

type(A()) == A #returns True

isinstance(B(), A) #returns True

type(B()) == A #returns False

21.ord():是chr()函数的配对函数,它以一个字符串(Unicode字符)作为参数,返回对应的ASCII数值,或者Unicode数值

>>>ord('a')97

>>> ord('€')8364

>>>

22.filter():用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

#过滤所有奇数

defis_odd(n):return n % 2 == 1tmplist= filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

newlist=list(tmplist)print(newlist)#过滤1-100中平方根是整数的数

importmathdefis_sqr(x):return math.sqrt(x) % 1 ==0

tmplist= filter(is_sqr, range(1, 101))

newlist=list(tmplist)print(newlist)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值