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)
  • 相关阅读:
    Android Gradle Plugin指南(五)——Build Variants(构建变种版本号)
    文件内容操作篇clearerr fclose fdopen feof fflush fgetc fgets fileno fopen fputc fputs fread freopen fseek ftell fwrite getc getchar gets
    文件操作篇 close creat dup dup2 fcntl flock fsync lseek mkstemp open read sync write
    嵌入式linux应用程序调试方法
    version control system:git/hg/subversion/cvs/clearcase/vss。software configruation management。代码集成CI:Cruisecontrol/hudson/buildbot
    最值得你所关注的10个C语言开源项目
    如何记录linux终端下的操作日志
    CentOS 5.5 虚拟机安装 VirtualBox 客户端增强功能
    sizeof, strlen区别
    C/C++嵌入式开发面试题
  • 原文地址:https://www.cnblogs.com/ahliucong/p/9209781.html
Copyright © 2011-2022 走看看