zoukankan      html  css  js  c++  java
  • python内置函数

    今天主要内容:

    1.昨日补充

    2.内置函数

    3.匿名函数

    1.关于生成器如何产生值,有三种方法,

    1)生成器调.__next__()

    2)用for循环

    3)用list(ge)

    2.内置函数

    2.1 迭代器生成器相关

    range() 函数可创建一个整数对象,一般用在for 循环中

    next :内部实际使用了__next__方法,返回迭代器的下一个项目

    iter():函数用来生成迭代器

    2.2 基础类型相关

    bool: 用于将给定参数转换为布尔类型,如果没有参数,返回 False。

    int: 函数用于将一个字符串或数字转换为整型(这里注意如果是转换字符型的话,那么是把后面小数点去掉)

    示例:

    f = 1.25
    i = int(f)
    print(i)
    
    """
    运行结果是
    1
    """

    float:函数用于将整数和字符串转换成浮点数。

     进制转换(3):

        bin:将十进制转换成二进制并返回。

        oct:将十进制转化成八进制字符串并返回。

        hex:将十进制转化成十六进制字符串并返回。

    print(bin(10),type(bin(10)))  # 0b1010 <class 'str'>
    print(oct(10),type(oct(10)))  # 0o12 <class 'str'>
    print(hex(10),type(hex(10)))  # 0xa <class 'str'>


    abs :函数返回数字的绝对值。

     divmod:计算除数与被除数的结果,返回一个包含商和余数的元组(a // b, a % b)。

     round:保留浮点数的小数位数,默认保留整数。关于round取两位数不准确的问题,可以使用

    类似下面格式化的输出

    float('%.2f' % b)
    或者
    from decimal import Decimal

    s = Decimal('5.000').quantize(Decimal('0.00'))
    print(s)

     pow:求x**y次幂。(三个参数为x**y的结果对z取余)

    示例:

    tu = divmod(10,3)
    print(tu)  ##这个函数是求两个参数的除数和余数
    
    
    f = 4.3567
    print(round(f,2))###这里是取小数点后两位,注意round的问题
    
    print(pow(2,3))  #求2的3的min

    sum :对可迭代对像进行求各计算(可设置初始值)

    max:返回可迭代对像的最大值

    min:返回可迭代对像的最值

    sum 这里要注意的是,可以传入初始值,比如sum(lst,100) 这里要表示的是lst列表里面的值相加后,再加100.

    max 和min要注意的是可以传入key值,这个key值可以接授函数赋值,当传入的是函数时max或者min会迭代这个可迭代对像,然后对每一个获取的迭代值传入函数,获取返回值,然后对比返回值,获取最大值,然后返回给当时的key.

    示例:

    f = [1,2,3]
    print(sum(f,1000))
    lst = [(1,20),(30,2),(20,100)]
    print(max(f))
    print(max(lst,key=lambda x:x[1]))

    2.3和数据结构相关

    list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素)。

    tuple:将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素)。

    reversed:将一个序列翻转,并返回此翻转序列的迭代器注意这里返回的是迭代器

    slice:构造一个切片对象,用于列表的切片。

    示例:

    lst = [1,4,90,70,101]
    for i in reversed(lst):
        print(i)

    lst = [1,4,90,70,101]
    # for i in reversed(lst):
    # print(i)


    s_ob= slice(1,4)
    print(lst[s_ob])

    str:将数据转化成字符串

    format:与具体数据相关,用于计算各种小数,精算等。

    bytes:用于不同编码之间的转化。注意这里只能由unicode转为utf-8,不能由utf-8转为unicode

    示例:

    s = "abc中国"
    s1 = bytes(s,encoding="utf-8")
    print(s1)

    ord:输入字符找该字符编码的位置

    chr:输入位置数字找出其对应的字符

    ascii:是ascii码中的返回该值,不是就返回/u...

    repr:返回一个对象的string形式(原形毕露)。

    这个是能显示字符串的双引号,

    如下示例:

    # %r  原封不动的写出来
    # name = 'taibai'
    # print('我叫%r'%name)
    
    # repr 原形毕露
    # print(repr('{"name":"alex"}'))
    # print('{"name":"alex"}')
    name = 'taibai'

     数据集合(3)

        dict:创建一个字典。

        set:创建一个集合。

        frozenset:返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

      相关内置函数(8)

         len:返回一个对象中元素的个数。

        sorted:对所有可迭代的对象进行排序操作。

    s = "136745"
    f = sorted(s) #sorted最后返回的是列表
    print(f)
    
    """
    执行结果如下:
    ['1', '3', '4', '5', '6', '7']
    """

    enumerate:枚举,返回一个枚举对象。这个主要是返回元组,元组的内容是序号和迭代内容组成.

    for i in enumerate([1,2,3],100):   #这个用法值得注意,是在序号基础上再加后面的初始值
        print(i)
    
    
    """
    运行结果如下:
    (100, 1)
    (101, 2)
    (102, 3)
    """

    all:可迭代对象中,全都是True才是True

    any:可迭代对象中,有一个True 就是True

    示例如下:

    print(all([1,"33",6]))
    print(any([3,'',"dd"]))

    zip  函数用于将可迭代的对像作为参数.将对像中对应元素打包成一个个元组.然后返回由这些元组组成的列表.如果各个迭代器的元素个数不一致,则返回列表长度与最短的对像相同

    l = [1,2,3]
    f = ["a","b","c"]
    p = zip(f,f)
    print(p)
    for i in p:
        print(i)
    
    """
    执行结果如下:
    <zip object at 0x000000F505093408>
    ('a', 'a')
    ('b', 'b')
    ('c', 'c')
    """

    filter:过滤·。

    filter 过滤 通过你的函数,过滤一个可迭代对象,返回的是True
    示例:

    s = filter(lambda x:x == 2,[1,2,3])
    for i in s :
        print(i)
    
    """
    执行结果是2
    """

    map:会根据提供的函数对指定序列做映射。

    这个类似于列表表达式的循环模式,

    示例如下:

    f = map(lambda x:x**2,[1,2,3])
    for i in f :
        print(i)
  • 相关阅读:
    编程语言学哪个比较好?
    C#一定要避免程序中很多的依靠
    EXPIREAT
    EXISTS
    DUMP
    Python之sys模块
    Python的OS模块
    CentOS 7上安装gitlab-runner
    PyCharm激活方法
    Linux03 文件的相关操作(touch、rm、mv、cat)
  • 原文地址:https://www.cnblogs.com/ahliucong/p/9209781.html
Copyright © 2011-2022 走看看