zoukankan      html  css  js  c++  java
  • Python基础之内置函数

      一、内置函数表(Python 3.x)

      1、数学运算类:

      2、集合类操作:

      3、逻辑判断:

      4、反射:

      5、IO操作:

      二、内置函数使用实例:

       1、abs() 取绝对值

    print(abs(3))
    print(abs(-3)) #取-3的绝对值
    --------输出结果--------
        3
        3
    

      2、all() 括号里的内容都为True时,结果才为True,反之为False

    print(all("")) #可迭代对象是空的,也返回True
    print(all((1,2,"a","b")))
    print(all((1,2,"a","b"," ")))
    print(all((1,2,"a","b"," ",None))) #只要有一个为False,就为False
    ---------------------------输出结果--------------------------
        True
        True
        True
        False
    

      3、any() 括号里的内容只要有一个为True时,结果才为True,反之为False

    print(any(("",None)))
    print(any((1,"",None))) #只要有一个为True时,结果为True
    ----------输出结果-----------
        False
        True
    

      4、bin() 把十进制转为二进制

    print(bin(5)) #将5转成二进制
    -------输出结果-------
        0b101 #二进制表达式
    

      5、bool 布尔值   空,None,0的布尔值为False,其余都为True

    print(bool(""))  #空
    print(bool(0))  #0
    print(bool(None))  #None
    print(bool("0"))  #此时0位一个字符串
    ----------------输出结果------------------
        False
        False
        False
        True
    

      6、bytes() 把字符串转成字节

    content = "你好"
    print(bytes(content,encoding="utf8")) #手动把字符串编码,转成二进制bytes类型
    print(bytes(content,encoding="utf8").decode("utf8")) #需要把字符串进行编码,再解码(用什么编码,就用什么解码)
    ------------------------输出结果--------------------------
        b'xe4xbdxa0xe5xa5xbd'
        你好
    

      7、chr() 数值对应的ASSCII字符

    print(chr(65))
    print(chr(66))
    print(chr(67))
    -----输出结果-----
        A
        B
        C
    

      8、dir 显示函数内置属性和方法

    print(dir(dict))
    ----------------输出结果--------------------
    ['__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']
    

      9、divmod 取商得余数,用于做分页显示功能

    print(divmod(10,3))  #得3,余1,就得要4页了
    ----------输出结果---------
        (3, 1)
    

      10、eval  把字符串中的数据结构给提取出来,解释字符串表达式

    dic={'name':'michael'} #定义一个字典
    dic_str=str(dic) #字典类型转成字符串
    print(dic_str) #打印内容
    print(type(dic_str)) #打印数据类型
    d1=eval(dic_str) #eval:把字符串中的数据结构给提取出来
    print(d1) #打印内容
    print(type(d1)) #打印数据类型
    ---------------输出结果------------------
        {'name': 'michael'}
        <class 'str'>
        {'name': 'michael'}
        <class 'dict'>
    

      11、globals 全局变量 

      ps1:

    name = "千江有水千江月,万里无云万里天。"
    print(globals())
    ---------------------输出结果-------------------------
    {'__name__': '__main__', '__doc__': None, '__package__': None,
     '__loader__': <_frozen_importlib_external.SourceFileLoader
     object at 0x00000000021C9668>, '__spec__': None,
     '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>,
     '__file__': 'F:/Michael/day25/内置函数实例.py', '__cached__': None,
     'name': '千江有水千江月,万里无云万里天。'}
    

      ps2:

    name = "千江有水千江月,万里无云万里天。"
    print(__file__) #打印文件路径和文件名
    ------------输出结果---------------
    F:/Michael/day25/内置函数实例.py
    

      ps3:

      globals 打印全局变量,locals 打印局部变量

    name = "千江有水千江月,万里无云万里天。"
    def test():
        name1 = "千山同一月,万户尽皆春。"
        print(globals())
        print(locals())
    test()
    ---------------------输出结果-------------------------
    {'__name__': '__main__', '__doc__': None, '__package__':
     None, '__loader__': <_frozen_importlib_external.SourceFileLoader
    object at 0x0000000002209668>, '__spec__': None,
     '__annotations__': {}, '__builtins__': <module 'builtins'
     (built-in)>, '__file__': 'F:/Michael/day25/内置函数实例.py',
     '__cached__': None, 'name': '千江有水千江月,万里无云万里天。'
    , 'test': <function test at 0x00000000003F3E18>}
    -----------------分隔线---------------------
    {'name1': '千山同一月,万户尽皆春。'}

      12、hash() 可hash的数据类型即不可变数据类型,不可hash的数据类型即可变数据类型

      hash的作用:在网上下载软件,判断是否被人修改,通过比对hash值,就知道。还有在传输数据的时候,通过hash

    值传输前后的对比,就能判断数据是否完整。

    print(hash("dkdgdkhglkf"))
    print(hash("dkdgdkhglkfjwiofwndnvjskdfjkljj"))
    name = "egon"
    print(hash(name))
    print("----->before",hash(name))
    name = "somebody"
    print("=====>after",hash(name))
    -----------------输出结果-------------------
    -8352099065023340321
    7790489956030600654
    -1821075661332880192
    ----->before -1821075661332880192
    =====>after -3592763496452633376
    

      13、help() 查看函数用法的祥细信息

    print(help(all))
    ------------输出结果--------------
    Help on built-in function all in module builtins:
    
    all(iterable, /)
        Return True if bool(x) is True for all values x in the iterable.
        
        If the iterable is empty, return True.
    
    None
    

      14、bin、hex、oct  进制转换

    print(bin(12)) #binary 十进制----> 二进制
    print(oct(12)) #octonary 十进制----> 八进制
    print(hex(12)) #hexadecimal 十进制----> 十六进制
    ------------------------输出结果----------------------------
        0b1100
        0o14
        0xc
    

      15、isinstance判断类型

    print(isinstance(1,int))       #判断是不是int类型
    print(isinstance('abc',str))   #判断字符串
    print(isinstance([],list))     #判断列表
    print(isinstance({},dict))     #判断字典
    print(isinstance({1,2},set))   #判断集合
    --------------------输出结果-----------------------
        True
        True
        True
        True
        True
    

      16、map() 接收一个函数和一个可迭代对象(如列表)作为参数,用函数处理每个元素,然后返回新的列表

    name=['alex','wupeiqi','yuanhao']
    m = map(lambda name:name+"_SB",name)
    print(list(m))
    -------------输出结果--------------
    ['alex_SB', 'wupeiqi_SB', 'yuanhao_SB']

      17、max() 最大值 和 min() 最小值

      简单用法:

    l = [2,4,0,-2,23]
    print(max(l))
    print(min(l))
    -----输出结果-----
        23
        -2
    

      高级用法:

      说明:

        1、max函数处理的是可迭代对象,相当于一个for循环取出每个元素进行比较;

          注意:不同类型之间不能进行比较。

        2、每个元素间进行比较,是从每个元素的第一位置依次比较,如果这一个位置分出大小,后面的都不需要比较

    了,直接得出这俩元素的大小。

      从字典salary_dic取出工资最高的人和最低的人:

      salary_dic = {'egon':290,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}

    print(max(salary_dic,key=lambda k:salary_dic[k])) #使用匿名函数
    print(min(salary_dic,key=lambda k :salary_dic[k])) #使用匿名函数
    -------------输出结果-----------------
        alex  #最高的人
        egon  #最低的人
    

      18、zip() 将对象逐一配对,相当于拉链的功能

      salary_dic = {'egon':290,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}

    print(list(zip(salary_dic.keys(),salary_dic.values())))
    print(list(zip(["a","b","c"],[1,2,3,4,5])))
    ----------------输出结果-------------------
    [('egon', 290), ('alex', 100000000), ('wupeiqi', 10000), ('yuanhao', 2000)]
    [('a', 1), ('b', 2), ('c', 3)]
    

      19、reversed() 反转

    l = [1,2,4,3]
    print(list(reversed(l)))
    print(l)
    -------输出结果-------- 
    [3, 4, 2, 1] #注意:它是按原列表的顺序反转,并非按元素大小排序 
    [1, 2, 4, 3]
    

      20、round() 四舍五入

    print(round(3.4))
    print(round(3.5))
    -------输出结果--------
        3
        4
    

      21、slice() 切片

    a = "hello world"
    a1 = slice(1,9) #切片
    a2 = slice(1,9,2) #加上步长切片
    print(a[a1])  #1
    print(a[1:9])   #2  1和2效果是一样的
    print(a[a2])  #3
    print(a[1:9:2])  #4  3和4效果是一样的
    print(a2.start) #开始的索引值
    print(a2.stop)  #结束的索引值
    print(a2.step)  #步长
    ----------输出结果-------------
        ello wor
        ello wor
        el o
        el o
        1
        9
        2
    

      22、sorted() 排序

      还是同16比较工资排序吧!

    salary_dic = {'egon':290,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}
    print(sorted(salary_dic,key=lambda k:salary_dic[k])) #工资从低到高
    print(sorted(salary_dic,key= lambda x:salary_dic[x],reverse=True)) #把反转的巩固一下,是工资从高到低排序
    -----------------输出结果------------------
    ['egon', 'yuanhao', 'wupeiqi', 'alex']
    ['alex', 'wupeiqi', 'yuanhao', 'egon']
    

      23、import 模块

    import time
    time.sleep(3)
    print(time)
    ---------输出结果--------
    <module 'time' (built-in)> #会睡眠3s输出结果
    

      24、__import__() 导入一个字符串类型模块

    s = "time"
    m = __import__(s)
    m.sleep(2)
    print(m)
    -----输出结果------
    <module 'time' (built-in)> #会睡眠2s输出结果
    

      

     

  • 相关阅读:
    使用puppeteer爬取网页数据实践小结
    React服务器端渲染框架next.js项目实战及部署上下文context问题解决办法
    在 React 组件中监听 android 手机物理返回/回退/back键事件
    vue页面切换效果(slide效果切换)
    记录HttpWebRequest辅助类
    C#异常Retry通用类
    Quartz.net2.2初体验
    【jQuery源码】整体架构
    CSRF攻击原理及防御
    SpringBoot----跨域配置
  • 原文地址:https://www.cnblogs.com/Michael--chen/p/6705375.html
Copyright © 2011-2022 走看看