zoukankan      html  css  js  c++  java
  • Python——内置函数(待完善)

    内置函数(68个),分为六大类

    思维导图:

    1. 迭代器/生成器相关(3个)

    (1)range

    for i in range(10):   #0-9
        print(i)
    for i in range(1,11): #1-10
        print(i)
    for i in range(1,11,2):   #1,3,5,7,9
        print(i)

    (2)next

    (3)iter

    2. 基础数据类型相关(38个)

    (1)和数字相关(14个)

      <1>数据类型(4个)

        bool

        int

        float

          小数:有限循环小数,无限循环小数,无限不循环小数
          浮点数:有限循环小数,无限循环小数

        complex

      <2>进制转换(3个)

        bin

        oct

        hex

      <3>数学运算(7个)

        abs

    # 绝对值
    print(abs(5))   #5
    print(abs(-5))  #5

        divmod

    #除余运算
    print(divmod(7,2))  #(3,1)
    print(divmod(9,2))  #(4,1)

        round

    # 精确值
    print(round(3.14159,2)) #3.14

        pow

    # 幂运算
    print(pow(2,3))
    print(pow(3,2))
    # 幂运算之后取余
    print(pow(2,3,3))
    print(pow(3,2,1))

        sum

    #求和
    ret = sum([1,2,3,6,4,5])
    print(ret)  #21
    ret = sum([1,2,3,6,4,5],10)
    print(ret)  #31

        min

    #最小值
    print(min([1,2,3,4])) #1
    print(min(1,2,3,4))   #1
    print(min(-1,2,3,-4)) #-4
    print(min(1,-2,3,-4,key = abs))  #1

        max

    # 最大值
    print(max([1,2,3,4]))   #4
    print(max(1,2,3,4))     #4
    print(max(-1,2,3,-4))   #3
    print(max(1,-2,3,-4,key = abs))  #-4

    (2)和数据结构相关(24个)

      <1>序列(13个)

        a. 列表和元祖

          list

          tuple

        b. 相关内置函数

          reversed

    # reversed() 保留原列表,返回一个反向的迭代器
    l = [1,2,3,4,5]
    l2 = reversed(l)
    print(l2)   #<list_reverseiterator object at 0x00000212B09287F0>

          slice

        c. 字符串

          str

          format

          bytes

    # bytes()  转换成bytes类型
    # gbk-->utf-8:先对gbk进行解码decode('gbk')成unicode,再编码encode('utf-8')成utf-8
    print(bytes('你好',encoding='GBK')) #b'xc4xe3xbaxc3'               #Unicode转换成GBK的bytes
    print(bytes('你好',encoding='GBK').decode('GBK'))  #你好
    print(bytes('你好',encoding='utf-8')) #b'xe4xbdxa0xe5xa5xbd'    #Unicode转换成utf-8的bytes
    
    # 网络编程只能传二进制
    # 文件存取、照片和视频以二进制存储
    # html网页爬取到的也是编码

          bytearray

          memoryview

          ord

          chr

          ascii

          repr

    # repr 让变量原封不动输出
    name = 'egg'
    print('你好%s'%name)  #你好egg : %s_str
    print('你好%r'%name)  #你好'egg' :%r_repr

      <2>数据集合(3个)

        a. 字典

          dic

        b. 集合

          set

          frozenset

      <3>相关内置函数(8个)

        len

        enumerate

        all

        any

        zip

    # zip()  拉链方法
    l = [1,2,3]
    l2 = ['a','b','c','d']
    l3 = ('*','**',[1,2,3])
    d = {'k1':1,'k2':2}
    print(zip(l,l2))    #<zip object at 0x000001708A005F48>
    for i in zip(l,l2):
        print(i)    #(1, 'a')  (2, 'b')  (3, 'c')
    for i in zip(l,l2,l3):
        print(i)    #(1, 'a', '*')  (2, 'b', '**')
    for i in zip(l,l2,l3,d):
        print(i)    #(3, 'c', [1, 2, 3])  (1, 'a', '*', 'k1')  (2, 'b', '**', 'k2')

        filter

        判断奇偶

    # filter()  过滤器
    
    def is_odd(x):    
        return x % 2 == 1
    ret = filter(is_odd,[1,4,6,7,9,12,17])
    print(ret)
    for i in ret:
        print(i)  #1  7  9  17
    # 下面的效果同上
    ret2 = [i for i in [1,4,6,7,9,12,17] if i % 2 == 1]
    print(ret2) #[1, 7, 9, 17]

        过滤字符串

    def is_str(s):
        if type(s) == str:
            return True
    ret = filter(is_str,[1,'hello','xc',6,5,'cx'])
    print(ret)  #<filter object at 0x00000274A0F440F0>
    for i in ret:
        print(i)    #hello  xc  cx 

        删除列表中的空元素 filter使用

    def is_not_empty(s):
            return s and str(s).strip()
    ret = filter(is_not_empty,[1,'',[],'hello','xc',None,6,5,'cx'])
    print(ret)
    for i in ret:
        print(i)

        过滤出1-100中平方根是整数的数

    from math import sqrt
    # print(sqrt(64))     # 8.0
    def pfg(x):
        res = sqrt(x)
        return res%1 ==0
    ret = filter(pfg,range(1,101))
    print(ret)
    for i in ret:
        print(i)

        map

    # filter 执行之后的结果集合 <= 执行之前的个数 —— 只筛选不改变值
    # map    执行之后的结果集合 <= 执行之前的个数 —— 值可能发生变化
    
    # map()
    ret = map(abs,[1,+4,6,-8])
    for i in ret:
        print(i)    #1  4  6  8

        sorted

    # sorted()——不改变原列表,生成新的列表,占用内存
    l = [1,-4,6,-10]
    l.sort(key=abs) #sort在原列表的基础上排序
    print(l)    #[1, -4, 6, -10]
    
    l1 = [1,-4,6,-10]
    print(sorted(l)) #[-10, -4, 1, 6]
    print(l1)    #[1, -4, 6, -10]
    print(sorted(l1,reverse = False))    #[-10, -4, 1, 6]
    print(sorted(l1,key = abs,reverse = True))    #[-10, 6, -4, 1]
    print(l1)   #[1, -4, 6, -10]

        列表按照每一个元素的len排序

    l = ['   ',[1,2],'cv','hello world']
    r = sorted(l,key = len)
    print(r)    #[[1, 2], 'cv', '   ', 'hello world']

    3. 作用域相关(12个)

    4. 面向对象相关(9个)

    5. 反射相关(4个)

    6. 其他(12个)

    (1)字符串类型代码的执行(3个)

      <1> eval

      <2> exec

    # exec和eval都可以执行字符串类型的代码
    # 区别:
    #     eval:有返回值
    #          只能用在明确知道要执行的代码是什么
    #          适合处理有结果的简单计算
    #     exec:无返回值
    #          适合处理简单的流程控制(如下打印***)
    code = '''for i in range(10):
        print(i*'*')
    '''
    exec(code)
    
    
    exec('print(123)')  #123
    eval('print(123)')  #123
    print(exec('1+2+3+4'))  #None,没有返回值
    print(eval('1+2+3+4'))  #10,有返回值

      <3> compile

    (2)输入输出(2个)

      <1> input

    ret = input('请输入:')
    print(ret)

      <2> print

    print('我们的祖国是花园',end='')    #默认end='
    '
    print('我们的祖国是花园',end='')  #我们的祖国是花园我们的祖国是花园
    print(1,2,3,4,5,sep=' * ')  #1 * 2 * 3 * 4 * 5——sep='多个值中间的分隔符'
    f = open('file','w')
    print('aaaa',file=f)    #不打印到屏幕,写入文件
    f.close

    (3)内存相关(2个)

      <1> hash

    # 对于相同可以哈希的数据的hash值,在一次执行过程中总是不变的
    # 字典查询速度快:key:value-------->通过hash(key)-->找到value
    print(hash(12345))  #12345
    print(hash('gsgvsbsu'))     #-8492621632380807
    print(hash(('1','aaa')))    #6824233723365785542
    print(hash([])) #unhashable

      <2> id

    (4)文件操作相关(1个)

        open

    f = open('1.txt')       #打开文件
    print(f.writable())     #False——是否可写
    print(f.readable())     #True——是否可读

    (5)模块相关(1个)

        import

    import time
    print(time.time())    #1538054908.6478863
    
    time = __import__('time')
    print(time.time())    #1538054908.6478863

    (6)帮助(1个)

          help

    (7)调用相关(1个)

        callable

    (8)查看内置属性(1个)

        dir

    # dir——查看一个变量拥有的方法
    print(dir([]))
    print(dir(1))

     运行结果:

    长得丑就应该多读书。我爱学习,只爱学习,最爱学习!
  • 相关阅读:
    css3动画栈效果_1
    页面滚动时出现固定导航
    jquery定位到指定元素
    seajs之学习2
    seajs之学习1
    变态ie6之要求css与页面编码一致引发的问题
    ASP.NET学习笔记一
    C++学习笔记三(类和对象)
    C++学习笔记二
    unity3D学习笔记一
  • 原文地址:https://www.cnblogs.com/xc-718/p/9715901.html
Copyright © 2011-2022 走看看