一、内置函数列表

二、常见内置函数用法

由于python内置函数较多,在此总结一下部分常见的内置函数的用法:

  1. abs(x)
    功能:取数的绝对值
      1 >>> abs(0)
    2 0
    3 >>> abs(-5)
    4 5
    5 >>>
  2. all(interable)
    功能:判断可迭代对象中的每个元素,如果均为真(非0)则返回true,反之返回false
      1 >>> all([1,2,3])
    2 True
    3 >>> all([0,1,2,3])
    4 False
    5 >>>
  3. any(interable)
    功能:也是判断可迭代对象中的每个元素,不同的是只要有一个元素为真就返回true,反之返回false
      1 >>> any(['a','b','c'])
    2 True
    3 >>> any([]) #空列表为假
    4 False
    5 >>> any([0])
    6 False
    7 >>> any([0,1])
    8 True
    9 >>>
  4. bin(x)
    功能:把整数转换成二进制
      1 >>> bin(100)
    2 '0b1100100'
    3 >>> bin(1)
    4 '0b1'
    5 >>>
  5. bool(object)
    功能:判断对象,返回布尔值,为空或0则返回false,反之返回true
      1 >>> bool('x')
    2 True
    3 >>> bool('')
    4 False
    5 >>> bool(0)
    6 False
    7 >>>
  6. bytearray[source[, encoding[, errors]]]
    功能:把二进制字节转换成可以修改的数组(列表)
      1 >>> list1=bytearray('001',encoding='utf-8')
    2 >>> list1
    3 bytearray(b'001')
    4 >>> list1[0] #以列表方式访问元素,返回的是对应的ASCII码
    5 48
    6 >>> list1[0]=99 #更新时也必须以ASCII码的形式来更新
    7 >>> list1
    8 bytearray(b'c01') #更新后原列表变了
    9 >>>
  7. bytes([source[, encoding[, errors]]])
    功能:把字符串转换成字节,但不能修改内容
      1 >>> b = bytes("abcd",encoding="utf-8")
    2 >>> b
    3 b'abcd'
    4 >>> b[1]
    5 98
    6 >>> b[1]=99
    7 Traceback (most recent call last):
    8 File "<stdin>", line 1, in <module>
    9 TypeError: 'bytes' object does not support item assignment
  8. callable(object)
    功能:判断一个对象是否可以被调用,目前所知道的只有函数或类才可以通过调用符号()去调用。
      1 >>> def func1():
    2 ... pass
    3 ...
    4 >>> callable(func1)
    5 True
    6 >>> a='test'
    7 >>> callable(a)
    8 False
  9. chr(x)
    功能:把ASCII中的数字转换成对应的字符
      1 >>> chr(98)
    2 'b'
  10. ord(x)
    功能:获取一个字符对应的ASCII码
      1 >>> ord('c')
    2 99
  11. dict(**kwarg)、dict(mapping, **kwarg)、dict(iterable, **kwarg)
    功能:生成一个字典
      1 >>> dict
    2 <class 'dict'>
    3 >>> dict({('address','Chengdu'),('Num','028')}) #传入一个set
    4 {'address': 'Chengdu', 'Num': '028'}
    5 >>> dict([('address','Chengdu'),('Num','028')]) #传入list
    6 {'address': 'Chengdu', 'Num': '028'}
    7 >>> dict([['address','Chengdu'],['Num','028']])
    8 {'address': 'Chengdu', 'Num': '028'}
    9 >>> dict((('address','Chengdu'),('Num','028'))) #传入元组
    10 {'address': 'Chengdu', 'Num': '028'}
    11 >>>
  12. dir(object)
    功能:查看一个对象的方法
      1 >>> a=dict((('address','Chengdu'),('Num','028')))
    2 >>> dir(a)
    3 ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__'
    4 , '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__',
    5 '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '
    6 __lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__seta
    7 ttr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'co
    8 py', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update
    9 ', 'values']
  13. divmod(a,b)
    功能:地板除,获得一个元组,元组第一个元素是商,第二个元素是余数。
      1 >>> divmod(9,2)
    2 (4, 1)
  14. enumerate(iterable,start=0)
    功能:遍历一个iterable中,逐个返回索引和相应的元素(一个enumerate对象),start参数可设置索引起始值,默认从0开始
      1 >>> test='abcd'
    2 >>> for index,item in enumerate(test):
    3 ... print(index,item)
    4 ...
    5 0 a
    6 1 b
    7 2 c
    8 3 d
    9 >>> print(list(enumerate(test)))
    10 [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
    11 >>> print(list(enumerate(test,start=2))) #start参数人为设定起始索引值,默认从0开始
    12 [(2, 'a'), (3, 'b'), (4, 'c'), (5, 'd')]
    13 >>> print(dict(enumerate(test)))
    14 {0: 'a', 1: 'b', 2: 'c', 3: 'd'}
  15. eval(expression, globals=None, locals=None)
    功能:进行简单的数学运算,对于符合其他特征不可计算的字符串,进行类型转换,比如可以把符合特征的字符串转换成int类型,list,tuple,dict等。
      1 >>> eval('100')
    2 100
    3 >>> type(eval('100'))
    4 <class 'int'>
    5 >>> eval("[1,2,3]")
    6 [1, 2, 3]
    7 >>> eval("(1,2,3)")
    8 (1, 2, 3)
    9 >>> eval("{1:'name',2:'male',3:'age'}")
    10 {1: 'name', 2: 'male', 3: 'age'}
  16. filter(function, iterable)
    功能:根据function定义的过滤条件,筛选出Iterable中符合条件的数据。
      1 >>> a=filter(lambda x:x %2 == 0, [0,1,2,3,4])
    2 >>> print(a)
    3 <filter object at 0x0000000001E9BE48> #经filter处理后返回的是一个filter对象
    4 >>> for i in a:
    5 ... print(i)
    6 ...
    7 0
    8 2
    9 4
  17. map(function, iterable)
    功能:接收参数function和可迭代对象iterable,对于每个迭代的元素一一进行函数运算,然后返回相应的结果(简单理解为一对一映射处理)
      1 >>> def func1(x):
    2 ... return x * 2
    3 ...
    4 >>> rs=map(func1,range(5))
    5 >>> for i in rs:
    6 ... print(i)
    7 ...
    8 0
    9 2
    10 4
    11 6
    12 8
    13 >>> rs
    14 <map object at 0x00000000021DBE10>
  18. reduce(function,iterable,initializer)
    功能:将一个带有两个参数的方法累计应用到一个可迭代的对象的元素上(function必须接收两个参数,遍历可迭代对象的元素,把上一次计算的结果作为下一次计算的第一个参数),以便把可迭代对象规约为一个单一的值,即大数据中的reduce规约计算。其中第三个参数初始值是可选的,如果给出了初始值,则把初始值作为第一个计算的第一个参数。

      1 >>> def f(x,y):
    2 ... return x+y
    3 ...
    4 >>> reduce(f,[1,3,5,7,9])
    5 Traceback (most recent call last):
    6 File "<stdin>", line 1, in <module>
    7 NameError: name 'reduce' is not defined
    8 >>> from functools import reduce #注意这里需要先导入后才能使用
    9 >>> reduce(f,[1,3,5,7,9])
    10 25
    11 >>> reduce(f,[1,3,5,7,9],100) #给出初始值100
    12 125

    计算过程如下:

  19. 先计算头两个元素:f(1, 3),结果为4;

    再把结果和第3个元素计算:f(4, 5),结果为9;

    再把结果和第4个元素计算:f(9, 7),结果为16;

    再把结果和第5个元素计算:f(16, 9),结果为25;

    由于没有更多的元素了,计算结束,返回结果25。
    典型的应用场景是:凡是要对一个可迭代独享进行操作的,并且要有一个统计结果的,能够用循环或者递归方式解决的问题,一般情况下都可以用reduce方式实现(比如统计一个集合中key重复的次数)。

  20. float
    功能:把一个数字形式的字符串转换为浮点类型的数据。
      1 >>> float('a')
    2 Traceback (most recent call last):
    3 File "<stdin>", line 1, in <module>
    4 ValueError: could not convert string to float: 'a' #a不是数字形式,无法转换
    5 >>>
    6 >>> float('1')
    7 1.0
    8 >>> float('1.23')
    9 1.23
  21. fronzenset(interable)
    功能:把一个可迭代对象转换为一个不可变的集合(双重特性,首先是符合集合的特性,其次是不可变)
      1 >>> res=frozenset([1,1,2,2,3])
    2 >>> res
    3 frozenset({1, 2, 3}) #集合中的元素不可重复,符合集合特征
    4 >>> res.add(4) #不能针对该集合增加元素,不可变
    5 Traceback (most recent call last):
    6 File "<stdin>", line 1, in <module>
    7 AttributeError: 'frozenset' object has no attribute 'add'
    8 >>> dir(res) #没有可变方法
    9 ['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '_
    10 _eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__ini
    11 t__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__',
    12 '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__r
    13 or__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__'
    14 , '__subclasshook__', '__xor__', 'copy', 'difference', 'intersection', 'isdisjoi
    15 nt', 'issubset', 'issuperset', 'symmetric_difference', 'union']
    16 >>>
  22. globals()
    功能:返回程序中所有的变量键值对(key 变量名, value 变量值,全局变量)
      1 >>> def foo(x):
    2 ... global a
    3 ... a=10
    4 ... b=20
    5 ... print(globals())
    6 ...
    7 >>> foo()
    8 Traceback (most recent call last):
    9 File "<stdin>", line 1, in <module>
    10 TypeError: foo() missing 1 required positional argument: 'x'
    11 >>> foo(1)
    12 {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <cl
    13 ass '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {
    14 }, '__builtins__': <module 'builtins' (built-in)>, 'f': <function f at 0x0000000
    15 001D23E18>, 'reduce': <built-in function reduce>, 'res': frozenset({1, 2, 3}), '
    16 test': <function test at 0x00000000023DAEA0>, 'foo': <function foo at 0x00000000
    17 02543840>, 'a': 10} #定义的全局变量已经获取打印到
    18
    19 >>> def foo2():
    20 ... global a
    21 ... a=100
    22 ... print(globals().get('a')) #直接获取全局变量的值
    23 ...
    24 >>> foo2()
    25 100
  23. locals()
    功能:与globals()类似,但返回的是局部变量
      1 >>> def foo(x):
    2 ... a='hehe'
    3 ... print(locals())
    4 ...
    5 >>> foo(1)
    6 {'a': 'hehe', 'x': 1}
    7 >>>
  24. hash()
    功能:根据一定的算法生成固定的映射结果,相同的输入生成相同的输出
      1 >>> hash('xy')
    2 6325275833896794579
    3 >>> hash('xy')
    4 6325275833896794579
    5 >>> hash('100')
    6 -93280025000303673
    7 >>> hash(100)
    8 100
    9 >>>

    这里需要注意的是它的应用场景hash函数把复杂的key(如中文)转换为固定的值存储,以便后续的复杂处理(查找,更新等),因为处理映射后的value更容易

  25. max(iterable)
    功能:返回一个可迭代对象的最大值
      1 >>> max((1,2,3))
    2 3
    3 >>> max({1,2,6})
    4 6
  26. min(interable)
    功能:返回一个可迭代对象的最小值
  27. input()
    功能:输入字符串
      1 >>> input(':')
    2 :hehe
    3 'hehe'
  28. list()
    功能:把其他的序列转换成列表
      1 >>> list({1,2,3})
    2 [1, 2, 3]
  29. set()
    功能:把其他的序列(可迭代对象)转换成集合
      1 >>> set({1:'a',2:'b'})
    2 {1, 2}
    3 >>> set(range(5))
    4 {0, 1, 2, 3, 4}
  30. hex()
    功能:转换十六进制
      1 >>> hex(16)
    2 '0x10'
    3 >>>
  31. oct()
    功能:转换八进制
      1 >>> oct(8)
    2 '0o10'
    3 >>> oct(7)
    4 '0o7'
  32. sorted(iterable[, key][, reverse])
    功能:对一个序列进行排序
      1 >>> a={1:'a',2:'c',3:'b'}
    2 >>> sorted(a) #默认只是排序key
    3 [1, 2, 3]
    4 >>> sorted(a.items()) #a.items返回的是包含键值对元组的列表,这里还是按key排序
    5 [(1, 'a'), (2, 'c'), (3, 'b')]
    6 >>> sorted(a.items(),key=lambda x:x[1]) #指定键值对中的value作为排序的key,因此按value来排序
    7 [(1, 'a'), (3, 'b'), (2, 'c')]
    8 >>> print(a.items())
    9 dict_items([(1, 'a'), (2, 'c'), (3, 'b')])
  33. zip(*iterables)
    功能:组合两个对象(zip中文拉链的意思),一一对应起来(如果有一个序列的个数更少,则按少的那个来)。
      1 >>> a=[1,2,3]
    2 >>> b={'a','b'}
    3 >>> for i in zip(a,b):
    4 ... print(i)
    5 ...
    6 (1, 'a')
    7 (2, 'b')
    8 >>>
  34. __import__(name, globals=None, locals=None, fromlist=(), level=0)
    功能:当导入的模块是一个字符串时,用__import__()
      1 >>> import os
    2 >>> __import__('os')
    3 <module 'os' from 'C:\\Program Files (x86)\\python3.6.1\\lib\\os.py'>

day4-内置函数的更多相关文章

  1. python_way,day4 内置函数(callable,chr,随机验证码,ord),装饰器

    python_way,day4 1.内置函数 - 下 制作一个随机验证码 2.装饰器 1.内置函数 - 下 callable() #对象能否被调用 chr() #10进制数字对应的ascii码表中的内 ...

  2. Day4 内置函数补充、装饰器

    li = [11,22,33,44]def f1(arg): arg.append(55)#函数默认返回值None,函数参数传递的是引用li = f1(li) print(li)   内置函数补充: ...

  3. day4 内置函数 迭代器&生成器 yield总结 三元运算 闭包

    内置函数: 内置函数 # abs()返回一个数字的绝对值.如果给出复数,返回值就是该复数的模. b = -100 print(b) print(abs(b)) # all() 所有为真才为真,只要有一 ...

  4. python全栈开发-Day13 内置函数

    一.内置函数 注意:内置函数id()可以返回一个对象的身份,返回值为整数. 这个整数通常对应与该对象在内存中的位置,但这与python的具体实现有关,不应该作为对身份的定义,即不够精准,最精准的还是以 ...

  5. 函数和常用模块【day04】:内置函数(九)

    一.11-20 11.ord(c) 功能:根据字符,找到对应的ascii值 1 2 >>> ord('a') 97 12.classmethod(function) 功能:类方法,这 ...

  6. 【python】-- 内置函数、软件目录开发规范(代码编码风格)

    内置函数 一.内置函数表格 二.内置函数演示 1.abs(x) 功能:取数的绝对值 >>> abs(-1) #取-1的绝对值 1 ########################## ...

  7. python中常用内置函数和关键词

    Python 常用内置函数如下: Python 解释器内置了很多函数和类型,您可以在任何时候使用它们.以下按字母表顺序列出它们. 1. abs()函数 返回数字的绝对值. print( abs(-45 ...

  8. 文成小盆友python-num4 装饰器,内置函数

    一 .python 内置函数补充 chr()  -- 返回所给参数对应的 ASCII 对应的字符,与ord()相反 # -*- coding:utf-8 -*- # Author:wencheng.z ...

  9. python学习之路-4 内置函数和装饰器

    本篇涉及内容 内置函数 装饰器 内置函数 callable()   判断对象是否可以被调用,返回一个布尔值 1 2 3 4 5 6 7 8 9 10 11 num = 10 print(callabl ...

  10. 【Python 函数对象 命名空间与作用域 闭包函数 装饰器 迭代器 内置函数】

    一.函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(Firs ...

随机推荐

  1. Python操作Redis(一)

    redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...

  2. cache与buffer的区别

    Cache vs Buffer 高速缓存和缓冲区 缓存区cache和缓冲区buffer都是临时存储区,但它们在许多方面有所不同.缓冲区buffer主要存在于RAM中,作为CPU暂时存储数据的区域,例如 ...

  3. (4.7)怎么捕获和记录SQL Server中发生的死锁?

    转自:https://blog.csdn.net/c_enhui/article/details/19498327 怎么捕获和记录SQL Server中发生的死锁? 关键词:死锁记录,死锁捕获 sql ...

  4. ABAP f4帮助输入多个值

    *---------------------------------------------------------------------- * INITIALIZATION *---------- ...

  5. ZOJ 3961 Let's Chat 【水】

    题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3961 题意 给出两个人的发消息的记录,然后 如果有两人在连续M天 ...

  6. $Java HttpClient库的使用

    (一)简介 HttpClient是Apache的一个开源库,相比于JDK自带的URLConnection等,使用起来更灵活方便. 使用方法可以大致分为如下八步曲: 1.创建一个HttpClient对象 ...

  7. 023_数量类型练习——Hadoop MapReduce手机流量统计

    1) 分析业务需求:用户使用手机上网,存在流量的消耗.流量包括两部分:其一是上行流量(发送消息流量),其二是下行流量(接收消息的流量).每种流量在网络传输过程中,有两种形式说明:包的大小,流量的大小. ...

  8. Raspberry Pi开发之旅-土壤湿度检测

    一.土壤传感器 传感器四个针脚:  针脚 含义 AO 模拟信号输出 DO 数字信号输出 GND 电源负极 VCC 电源正极 二.接线 YL-38和YL69 之间直接用2根母对母线连接. YL-38和树 ...

  9. 【CodeChef】Enormous Input Test

    The purpose of this problem is to verify whether the method you are using to read input data is suff ...

  10. Linux 修改DNS解决 Could not retrieve mirrorlist" 报错

    CentOS yum有时出现“Could not retrieve mirrorlist ”的解决办法——resolv.conf的配置 或者IP配置文件上写入 缺少DNS引起的问题1. 无法识别域名 ...