内置函数

内置函数补充


 all: 所有iterable类型,包含的元素要全为真才返回真

  1. >>> all([0,-1,5])
  2. False
  3. >>> all([-1,5])
  4. True

any:有iterable类型,非空且包含任一为真element就返回true

  1. >>> any([])
  2. False
  3. >>> any([0])
  4. False
  5. >>> any([0,12])
  6. True

ascii:

  1. >>> a = ascii([1,2,"中文"])
  2. >>> print(type(a),[a])
  3. <class 'str'> ["[1, 2, '\\u4e2d\\u6587']"]
  4. >>> #把内存的数据转换为可打印的字符串格式

bin:

  1. >>> bin(2) #把十进制转换为二进制
  2. '0b10'
  3. >>> #convert an integer number to a binary string ,需要整数才能转
  1. #二进制转十进制
  2. >>> int('0b10',2) #如果前面有标识进制数,后面不用加 base
  3. 2
  4. >>> int('',base=2)
  5. 2
  6. >>> int('0x10',16)
  7. 16
  8. >>> int('0o657',8)
  9. 431
  10. >>> int('',base=8)
  11. 431
  12. >>> bin(431)
  13. '0b110101111'
  14. >>> oct(431)
  15. '0o657'
  16. >>> hex(431)
  17. '0x1af'
  18. >>>

2,8,16,10进制互转

bool:判断真假

  1. >>> bool([])
  2. False
  3. >>> bool(0)
  4. False
  5. >>> bool([0,1])
  6. True

bytes:转换为二进制格式

  1. >>> a = bytes("abcde",encoding='utf-8')
  2. >>> print(a.capitalize(),a)
  3. b'Abcde' b'abcde'
  4. >>> a[0]
  5. 97
  6. >>> a[0] = 100 #当想修改它时会报错
  7. Traceback (most recent call last):
  8. File "<pyshell#4>", line 1, in <module>
  9. a[0] = 100
  10. TypeError: 'bytes' object does not support item assignment
  11. >>>

bytearray:

  1. >>> b = bytearray("abcde",encoding='utf-8')
  2. >>> b[0]
  3. 97
  4. >>> b[0] = 102
  5. >>> print(b)
  6. bytearray(b'fbcde')
  7. >>> #bytearray变成变成二进制列表的形式,并可以修改,很少用到

callable:

  1. >>> print(callable([]))
  2. False
  3. >>> #判断是否可以调用,后面能加括号的就是能调用的,比如函数
  4. >>> def sayhi():
  5. pass
  6. >>> callable(sayhi()) #此时为函数运行结果,不能调用
  7. False
  8. >>> callable(sayhi) #注意此时函数为内存地址,可以调用
  9. True

chr:

  1. >>> chr(87) #把Unicode中的数字对应的元素返回出来
  2. 'W'

ord:

  1. >> ord('a') #把元素返回为Unicode中对应的数字号码
  2. 97

compile:#compile(str,'err.log','exec or eval') 把字符串编译为可运行的代码

  1. >>> code = 'for i in range(2):print(i)'
  2. >>> compile(code,'','exec')
  3. <code object <module> at 0x000001C8899C89C0, file "", line 1>
  4. >>> exec(code) #相当于import了这个模块,然后执行
  5. >>>>
  6. 0
  7. 1
  8. 2

dict:

  1. >>>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} >>>

delattr :

很重要,先跳过

dir:

  1. >>> a = {}
  2. >>> dir(a) #查可用方法
  3. ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
  4. >>>

divmod:

  1. divmod(5,2) # 5除以2 并返回商和余数
  2. (2, 1)

lambda: 匿名函数

  1. >>> x = lambda n:3 if n<3 else n
  2. >>> x(7) #>>> x(2) 输出为 3
  3. 7
  4.  
  5. >>>aaa = lambda x,y:x+y
    >>>print(aaa(1,2)) #定义了几个参数就传几个参数和函数一样
    3

format:

  1. 实例
  2. >>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
  3. 'hello world'
  4.  
  5. >>> "{0} {1}".format("hello", "world") # 设置指定位置
  6. 'hello world'
  7.  
  8. >>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
  9. 'world hello world'
  10. 也可以设置参数:
  11.  
  12. 实例
  13. #!/usr/bin/python
  14. # -*- coding: UTF-8 -*-
  15.  
  16. print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
  17.  
  18. # 通过字典设置参数
  19. site = {"name": "菜鸟教程", "url": "www.runoob.com"}
  20. print("网站名:{name}, 地址 {url}".format(**site))
  21.  
  22. # 通过列表索引设置参数
  23. my_list = ['菜鸟教程', 'www.runoob.com']
  24. print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的

format

filter:过滤

  1. >>> res = filter(lambda n:n>5,range(10)) #filter(function,iterable),参数1为条件,参数2为可迭代类型
  2. >>> for i in res:
  3. print(i)
  4.  
  5. 6
  6. 7
  7. 8
  8. 9
  9. >>> #在range(10)中过滤出大于5的元素

map:   map(function,iterable),按照function的功能,对iterable进行操作

  1. >>> res2 = map(lambda n:n*n,range(3))
  2. >>> for i in res2:
  3. print(i)
  4.  
  5. 0
  6. 1
  7. 4
  8. >>> #map(function,iterable),按照function的功能,对iterable进行操作
  9. >>> #是个迭代器,要用for循环输出
  10. >>> #和列表生成式一样,区别是map是迭代器

reduce : 在python3中不是内置函数,需要import  functools调用

  1. >>> import functools
  2. >>> res3 = functools.reduce(lambda x,y:x+y,range(10))
  3. >>> print(res3)
  4. 45
  5. >>> #x为返回值,y为第一个数,执行x+y后,x变为x+y,y变为下一个数,从而得到从1加到10的值
  6. >>> #在python2.7中 reduce为内置函数,现在要用functools导入调用

float:  将数字或者字符串,返回为浮点数

  1. >>> float(3)
  2. 3.0
  3. >>> float('3.4')
  4. 3.4

 globals(): 只打印全局变量   locals():打印局部变量

  1. >>> a = [1]
  2. >>> globals()
  3. {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'a': [1]}
  4. >>> globals().get('a')
  5. [1]
  6. >>> #golbals 变量名是key,变量值是value,返回当前程序所有的变量

frozenset():

  1. >>> set1 = frozenset([1,4,4,3])
  2. >>> 不可变集合,用这个定义集合后,set1
  3. SyntaxError: invalid character in identifier
  4. >>> #不可变集合,用这个定义集合后,set1就不可变,pop,clear方法都没了

hash():

  1. >>> hash('gkx') #返回对象的哈希值
  2. -3746276222014687951
  3. >>> #可以应用于数字、字符串和对象,不能直接应用于 list、set、dictionary。

help(),hex(),int(),isinstance(),len(),list(),iter()

  1. >>> help(a.append) #返回帮助信息
  2. Help on built-in function append:
  3. append(...) method of builtins.list instance
  4. L.append(object) -> None -- append object to end
  5.  
  6. >>> hex(66)
  7. '0x42'
  8. >>> #转十六机制 bin()#转二进制 oct() #转八进制
  9.  
  10. >>> id(a)
  11. 1960805134216
  12. >>> #返回内存地址
  13.  
  14. >>> int(3.4)
  15. 3
  16. >>> int('') #返回整数,注意'3.4'字符串如果时小数,返回会报错
  17. 3
  18.  
  19. >>> iter([]) #变为iterator
  20. <list_iterator object at 0x000001C889A4C908>
  21.  
  22. >>> a = 'abc'
  23. >>> len(a) #查询变量长度
  24. 3
  25. >>> a = list()
  26. >>> #定义一个列表

 max()  min() : #1,比较的元素是可迭代对象,用for循环原理,如果第一个元素分出大小,后面就不会继续比较了。2.根据ASCII码值的大小比较

  1. >>> max([2,3,45]) #求最大值
  2. 45
  3. >>> min([2,3,45]) #求最小值
  4. 2

next():

  1. >>> next(iter([1,2,3]))
  2. 1
  3. >>> #返回迭代器的下一个元素

pow():

  1. >>> pow(3,3)
  2. 27
  3. >>> #返回3的3次方

repr():

  1. >>> a = [1,2,3]
  2. >>> repr(a)
  3. '[1, 2, 3]'
  4. >>> #类似ascii,转为str

round():

  1. >>> round(1.33333,2)
  2. 1.33
  3. >>> #保留小数位,根据参数2. 默认是保留整数位

slice(起始位置,终止位置,间距):  list的切片方法 【:】一模一样

  1. >>> d = 'abcde'
  2. >>> c = [1,2,3,4,5]
  3. >>> d[slice(1,2)]
  4. 'b'
  5. >>> d[slice(4)]
  6. 'abcd'
  7. >>> #切片
  8. >>> d = range(10)
  9. >>> d[slice(2,5)]
  10. range(2, 5)
  11. >>> #slice(起始位置,结束位置,间距)
  12. >>> d[2:5]
  13. range(2, 5)
  14. >>>

sorted():

  1. >>> a = {1:2,3:6,7:11,-1:6}
  2. >>> sorted(a.items()) #默认用key排序
  3. [(-1, 6), (1, 2), (3, 6), (7, 11)]
  4. >>> sorted(a.items(),key=lambda x:x[1]) #用value排序,用到匿名函数
  5. [(1, 2), (3, 6), (-1, 6), (7, 11)]
  6. >>>

sum():求和

  1. >>> sum([1,2,3,4])
  2. 10

tuple(): 定义一个元组

  1. >>> a = tuple()
  2. >>> a
  3. ()

zip():

  1. >>> cc = ['gkx','lion','cat']
  2. >>> dd = [1,2,3]
  3. >>> for i in zip(cc,dd): #因为是一个迭代器,所以要用循环
  4. print(i)
  5.  
  6. ('gkx', 1)
  7. ('lion', 2)
  8. ('cat', 3)
  9. >>>
  10. >>> dd = [1,2,3,4,5]
  11. >>> for i in zip(cc,dd):
  12. print(i)
  13.  
  14. ('gkx', 1)
  15. ('lion', 2)
  16. ('cat', 3)
  17. >>> #按最小的拼接
  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. >>>

__import__():

  1. import sys
  2. __import__('a') # 导入 a.py 模块

Python—内置函数的更多相关文章

  1. python内置函数

    python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...

  2. python 内置函数和函数装饰器

    python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...

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

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

  4. [python基础知识]python内置函数map/reduce/filter

    python内置函数map/reduce/filter 这三个函数用的顺手了,很cool. filter()函数:filter函数相当于过滤,调用一个bool_func(只返回bool类型数据的方法) ...

  5. Python内置函数进制转换的用法

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...

  6. Python内置函数(12)——str

    英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string  ...

  7. Python内置函数(61)——str

    英文文档: class str(object='') class str(object=b'', encoding='utf-8', errors='strict') Return a string ...

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

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

  9. Python 内置函数笔记

    其中有几个方法没怎么用过, 所以没整理到 Python内置函数 abs(a) 返回a的绝对值.该参数可以是整数或浮点数.如果参数是一个复数,则返回其大小 all(a) 如果元组.列表里面的所有元素都非 ...

  10. 【转】实习小记-python 内置函数__eq__函数引发的探索

    [转]实习小记-python 内置函数__eq__函数引发的探索 乱写__eq__会发生啥?请看代码.. >>> class A: ... def __eq__(self, othe ...

随机推荐

  1. Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处

    以前用eclipse的时候,可以根据所抛出的异常进行调试,比如:出现了空指针异常,我想知道是哪一行抛出的,在eclipse中我只需在debug模式下把空指针异常这个名字设置进去,当遇到空指针异常时,e ...

  2. android studio相关配置

    启动出现:Unable to access Android SDK add-on list 解决: Android Studio First Run 检测 Android SDK 及更新,由于众所周知 ...

  3. phpstorm----------phpstorm2017基本使用

    1.关闭2017版本的,函数参数提示.关闭方式如下: 2.如何设置代码里面的变量等号对齐,和key => value 对齐     ctrl+alt+l 3.修改PHP文件类创建的默认注释 4. ...

  4. [转][访谈] Olivier Grisel谈scikit-learn和机器学习技术的未来

    原文:http://www.csdn.net/article/2015-10-11/2825882 几周前,我们的Florian Douetteau (FD)对Olivier Grisel(OG)进行 ...

  5. keepalived 工作原理

    keepalived主要通过vrrp协议为基础进行通信 所以先从VRRP协议说起: VRRP: 英文全称 Virtual Router Redundancy Protocol, .中文:虚拟路由冗余协 ...

  6. mysql 终止 存储过程

    [1]如下图所示 有时候,存储过程执行语句中有循环,且已启动.但出于某种原因,我们突然不想让其再继续执行,需要终止其线程. Good Good Study, Day Day UP. 顺序 选择 循环 ...

  7. 2019/4/12 wen 常用类3

  8. Centos7 升级 Ruby

    Centos7通过yum 安装的Ruby 是2.0版本.版本较低,需要升级到2.5以上版本. #yum 安装ruby yum install ruby #查看ruby版本 ruby -v 以下开始升级 ...

  9. yii2 使用多个数据库的案例

    配置: 'components' => [ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=ip; ...

  10. ( 转) Awesome Image Captioning

    Awesome Image Captioning 2018-12-03 19:19:56 From: https://github.com/zhjohnchan/awesome-image-capti ...