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

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

  1. print ("abs(-40) : ", abs(-40))
  2. print ("abs(100.10) : ", abs(100.10))
  3. """
  4. 结果:
  5. abs(-40) : 40
  6. abs(100.10) : 100.1
  7. """

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

  1. >>>dict() # 创建空字典
  2. {}
  3. >>> dict(a='a', b='b', t='t') # 传入关键字
  4. {'a': 'a', 'b': 'b', 't': 't'}
  5. >>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典
  6. {'three': 3, 'two': 2, 'one': 1}
  7. >>> dict([('one', 1), ('two', 2), ('three', 3)]) # 可迭代对象方式来构造字典
  8. {'three': 3, 'two': 2, 'one': 1}
  9. >>>

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

  1. print ("min(80, 100, 1000) : ", min(80, 100, 1000))
  2. print ("min(-20, 100, 400) : ", min(-20, 100, 400))
  3. print ("min(-80, -20, -10) : ", min(-80, -20, -10))
  4. print ("min(0, 100, -400) : ", min(0, 100, -400))
  5. """
  6. 结果:
  7. min(80, 100, 1000) : 80
  8. min(-20, 100, 400) : -20
  9. min(-80, -20, -10) : -80
  10. min(0, 100, -400) : -400
  11. """

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

  1. >>>class A(object):
  2. ... bar = 1
  3. ...
  4. >>> a = A()
  5. >>> getattr(a, 'bar') # 获取属性 bar 值
  6. 1
  7. >>> setattr(a, 'bar', 5) # 设置属性 bar 值
  8. >>> a.bar
  9. 5
  10. #属性不存在的时候会创建一个新的对象属性,并对属性赋值
  11. >>>class A():
  12. ... name = "runoob"
  13. ...
  14. >>> a = A()
  15. >>> setattr(a, "age", 28)
  16. >>> print(a.age)
  17. 28
  18. >>>

5.all(): 用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。

元素除了是 0、空、None、False 外都算 True。

  1. >>> all(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0
  2. True
  3. >>> all(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
  4. False
  5. >>> all([0, 12, 3]) # 列表list,存在一个为0的元素
  6. False
  7.  
  8. >>> all(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
  9. True
  10. >>> all(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
  11. False
  12. >>> all((0, 1, 2, 3)) # 元组tuple,存在一个为0的元素
  13. False
  14.  
  15. >>> all([]) # 空列表
  16. True
  17. >>> all(()) # 空元组
  18. True

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

  1. >>>dir() # 获得当前模块的属性列表
  2. ['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
  3. >>> dir([ ]) # 查看列表的方法
  4. ['__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']
  5. >>>

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

  1. >>>hex(255)
  2. '0xff'
  3. >>> hex(-42)
  4. '-0x2a'
  5. >>> hex(12)
  6. '0xc'
  7. >>> type(hex(12))
  8. <class 'str'> # 字符串

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

  1. # 首先获得Iterator对象:
  2. it = iter([1, 2, 3, 4, 5])
  3. # 循环:
  4. while True:
  5. try:
  6. # 获得下一个值:
  7. x = next(it)
  8. print(x)
  9. except StopIteration:
  10. # 遇到StopIteration就退出循环
  11. break

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

  1. >>>myslice = slice(5) # 设置截取5个元素的切片
  2. >>> myslice
  3. slice(None, 5, None)
  4. >>> arr = range(10)
  5. >>> arr
  6. [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  7. >>> arr[myslice] # 截取 5 个元素
  8. [0, 1, 2, 3, 4]
  9. >>>

10.any():

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

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

  1. >>>any(['a', 'b', 'c', 'd']) # 列表list,元素都不为空或0
  2. True
  3.  
  4. >>> any(['a', 'b', '', 'd']) # 列表list,存在一个为空的元素
  5. True
  6.  
  7. >>> any([0, '', False]) # 列表list,元素全为0,'',false
  8. False
  9.  
  10. >>> any(('a', 'b', 'c', 'd')) # 元组tuple,元素都不为空或0
  11. True
  12.  
  13. >>> any(('a', 'b', '', 'd')) # 元组tuple,存在一个为空的元素
  14. True
  15.  
  16. >>> any((0, '', False)) # 元组tuple,元素全为0,'',false
  17. False
  18.  
  19. >>> any([]) # 空列表
  20. False
  21.  
  22. >>> any(()) # 空元组
  23. False

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

  1. >>> divmod(7, 2)
  2. (3, 1)
  3. >>> divmod(8, 2)
  4. (4, 0)
  5. >>> divmod(8, -2)
  6. (-4, 0)
  7. >>> divmod(3, 1.3)
  8. (2.0, 0.3999999999999999)

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

  1. >>>a = 'runoob'
  2. >>> id(a)
  3. 4531887632
  4. >>> b = 1
  5. >>> id(b)
  6. 140588731085608

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

  1. >>>sorted([5, 2, 3, 1, 4])
  2. [1, 2, 3, 4, 5] # 默认为升序
  3.  
  4. >>>sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
  5. [1, 2, 3, 4, 5]
  6.  
  7. #倒序
  8. >>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
  9. >>> result_list = sorted(example_list, key=lambda x: x*-1)
  10. >>> print(result_list)
  11. [7, 6, 5, 4, 3, 2, 1, 0]
  12. >>>
  13.  
  14. >>>example_list = [5, 0, 6, 1, 2, 7, 3, 4]
  15. >>> sorted(example_list, reverse=True)
  16. [7, 6, 5, 4, 3, 2, 1, 0]

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

  1. >>> ascii('runoob')
  2. "'runoob'"

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

  1. >>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
  2. >>>list(enumerate(seasons))
  3. [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
  4. >>>list(enumerate(seasons, start=1)) # 小标从 1 开始
  5. [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')
  6.  
  7. #for循环使用
  8. >>>seq = ['one', 'two', 'three']
  9. >>>for i, element in enumerate(seq):
  10. ... print(i, seq[i])
  11. ...
  12. 0 one
  13. 1 two
  14. 2 three
  15. >>>

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

  1. >>>oct(10)
  2. ''
  3. >>> oct(20)
  4. ''
  5. >>> oct(15)
  6. ''
  7. >>>

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

  1. >>>bin(10)
  2. '0b1010'
  3. >>> bin(20)
  4. '0b10100'

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

  1. >>>x = 7
  2. >>> eval( '3 * x' )
  3. 21
  4. >>> eval('pow(2,2)')
  5. 4
  6. >>> eval('2 + 2')
  7. 4
  8. >>> n=81
  9. >>> eval("n + 4")
  10. 85

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

  1. 实例1:
  2. >>>exec('print("Hello World")')
  3. Hello World
  4. # 单行语句字符串
  5. >>> exec("print ('runoob.com')")
  6. runoob.com
  7.  
  8. # 多行语句字符串
  9. >>> exec ("""for i in range(5):
  10. ... print ("iter time: %d" % i)
  11. ... """)
  12. iter time: 0
  13. iter time: 1
  14. iter time: 2
  15. iter time: 3
  16. iter time: 4
  17.  
  18. 实例2:
  19. x = 10
  20. expr = """
  21. z = 30
  22. sum = x + y + z
  23. print(sum)
  24. """
  25. def func():
  26. y = 20
  27. exec(expr)
  28. exec(expr, {'x': 1, 'y': 2})
  29. exec(expr, {'x': 1, 'y': 2}, {'y': 3, 'z': 4})
  30.  
  31. func()
  32. #结果
  33. 60
  34. 33
  35. 34

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

  1. >>>a = 2
  2. >>> isinstance (a,int)
  3. True
  4. >>> isinstance (a,str)
  5. False
  6. >>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True
  7. True
  8.  
  9. #type()和isinstance()的区别
  10. class A:
  11. pass
  12.  
  13. class B(A):
  14. pass
  15.  
  16. isinstance(A(), A) # returns True
  17. type(A()) == A # returns True
  18. isinstance(B(), A) # returns True
  19. type(B()) == A # returns False

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

  1. >>>ord('a')
  2. 97
  3. >>> ord('€')
  4. 8364
  5. >>>

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

  1. #过滤所有奇数
  2. def is_odd(n):
  3. return n % 2 == 1
  4.  
  5. tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
  6. newlist = list(tmplist)
  7. print(newlist)
  8.  
  9. #过滤1-100中平方根是整数的数
  10. import math
  11. def is_sqr(x):
  12. return math.sqrt(x) % 1 == 0
  13.  
  14. tmplist = filter(is_sqr, range(1, 101))
  15. newlist = list(tmplist)
  16. print(newlist)

python内置函数简单归纳的更多相关文章

  1. 【转】python 内置函数总结(大部分)

    [转]python 内置函数总结(大部分) python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为 ...

  2. python 内置函数总结(大部分)

    python 内置函数大讲堂 python全栈开发,内置函数 1. 内置函数 python的内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是pytho ...

  3. Python基础篇【第2篇】: Python内置函数(一)

    Python内置函数 lambda lambda表达式相当于函数体为单个return语句的普通函数的匿名函数.请注意,lambda语法并没有使用return关键字.开发者可以在任何可以使用函数引用的位 ...

  4. 那些年,很多人没看懂的Python内置函数

    Python之所以特别的简单就是因为有很多的内置函数是在你的程序"运行之前"就已经帮你运行好了,所以,可以用这个的特性简化很多的步骤.这也是让Python语言变得特别的简单的原因之 ...

  5. python内置函数,匿名函数

    一.匿名函数 匿名函数:为了解决那些功能很简单的需求而设计的一句话函数 def calc(n): return n**n print(calc(10)) #换成匿名函数 calc = lambda n ...

  6. Python 内置函数sorted()在高级用法

    对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. ...

  7. Python内置函数之匿名(lambda)函数

    Python内置函数之匿名(lambda)函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数 #!/usr/bin/env python #_*_coding:utf ...

  8. python内置函数和魔法函数

    内置方法:Python中声明每一个类系统都会加上一些默认内置方法,提供给系统调用该类的对象时使用.比如需要实例化一个对象时,需要调用该类的init方法:使用print去打印一个类时,其实调用的是str ...

  9. lambda 表达式+python内置函数

    #函数 def f1(a,b): retrun  a+b #lambda方式,形参(a,b):返回值(a+b) f2=lambda a,b : a+b 在一些比较简单的过程计算就可以用lambda p ...

随机推荐

  1. TCP输入 之 tcp_rcv_established

    概述 tcp_rcv_established用于处理已连接状态下的输入,处理过程根据首部预测字段分为快速路径和慢速路径: 1. 在快路中,对是有有数据负荷进行不同处理: (1) 若无数据,则处理输入a ...

  2. linux mmap 内存映射

    mmap() vs read()/write()/lseek() 通过strace统计系统调用的时候,经常可以看到mmap()与mmap2().系统调用mmap()可以将某文件映射至内存(进程空间), ...

  3. 微服务一键启动脚本shell没有环境变量的

    #!/bin/bash#######################################################export JAVA_HOME=/root/data/app/jd ...

  4. python 装饰器 (test = submit(test))

    两层的装饰器,这里对于register不需要进行输入 usename, passwd = 'alex', 'abc123' def register(func): def wrapper(*args, ...

  5. 设置placeholder 颜色

    ::-webkit-input-placeholder { /* WebKit browsers */ color: rgb(100, 193, 173); } :-moz-placeholder { ...

  6. .NET GC简单理解

    内存分配 计算对象大小. 添加对象指针和同步索引块. 从内存指针处开始,分配对象内存. 问题:内存不能无限制增长. 垃圾回收 从应用程序实例出发,标记所有的引用对象. 将标记对象移动到低地址端,修正实 ...

  7. 由STL map调用clear后,内存不返还给操作系统的问题出发,探讨glibc malloc/free行为(转)

    1. 问题 我们的程序有几十个线程,每个线程拥有一个std::map,每个线程都要向自己的std::map中插入大量的数据,但每个数据只有几十字节:当使用完std::map,调用map.clear() ...

  8. [Python]机器学习:PageRank原理与实现

    前言 PageRank是TextRank的前身.顾名思义,TextRank用于文本重要性计算(语句排名)和文本摘要等NLP应用,而Page最初是因搜索引擎需要对网页的重要性计算和排名而诞生.本着追本溯 ...

  9. subprocess.call 使用

    1.subprocess.call 里面的命令分开写,实例如下: subprocess.call 是不能作为赋值的,需要用到 subprocess.check_output 函数,而且如果要引用赋值就 ...

  10. 【转】Apache HBase 问题排查思路

    [From]https://www.itcodemonkey.com/article/9426.html HBCK - HBCK检查什么? (1)HBase Region一致性 集群中所有region ...