zoukankan      html  css  js  c++  java
  • 内置函数和魔术方法

    1.1作用域相关

    locals :函数会以字典的类型返回当前位置的全部局部变量。

    globals:函数以字典的类型返回全部全局变量。

    1.2其他相关

    1.2.1 字符串类型代码的执行 eval,exec,complie

      eval:执行字符串类型的代码,并返回最终结果。

      exec:执行字符串类型的代码。

      compile:将字符串类型的代码编译。代码对象能够通过exec语句来执行或者eval()进行求值。(一般不用)

      有返回值的字符串形式的代码用eval,没有返回值的字符串形式的代码用exec,一般不用compile。

    1.2.2 输入输出相关 input,print

      input:函数接受一个标准输入数据,返回为 string 类型。

      print:打印输出。

    1.2.3内存相关 hash id

      hash:获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。

    1.2.3文件操作相关

      open:函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

    1.2.4模块相关__import__ 

      __import__:函数用于动态加载类和函数 。

    1.2.5帮助

      help:函数用于查看函数或模块用途的详细说明。

    1.2.6调用相关

      callable:函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。

    1.2.7查看内置属性

      dir:函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

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

    1.3 迭代器生成器相关

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

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

    iter:函数用来生成迭代器(讲一个可迭代对象,生成迭代器)。

    1.4 基础数据类型相关

    1.4.1数字相关(14)

      

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

    int:函数用于将一个字符串或数字转换为整型。

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

    complex:函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。

    进制转换(3):

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

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

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

    数学运算(7):

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

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

        round:保留浮点数的小数位数,默认保留整数。

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

     sum:对可迭代对象进行求和计算(可设置初始值)。

        min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值)。

        max:返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)。

    1.4.2和数据结构相关(24)

      列表和元祖(2)

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

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

      相关内置函数(2)

        reversed:将一个序列翻转,并返回此翻转序列的迭代器。

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

    字符串相关(9)

        str:将数据转化成字符串。

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

        bytes:用于不同编码之间的转化。

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

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

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

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

    数据集合(3)

        dict:创建一个字典。

        set:创建一个集合。

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

      相关内置函数(8)

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

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

        enumerate:枚举,返回一个枚举对象。

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

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

        zip:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,

          则返回列表长度与最短的对象相同。

        filter:过滤·。

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

    匿名函数

    匿名函数:为了解决那些功能很简单的需求而设计的一句话函数。

    上面是我们对calc这个匿名函数的分析,下面给出了一个关于匿名函数格式的说明

    函数名 = lambda 参数 :返回值
    
    #参数可以有多个,用逗号隔开
    #匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
    #返回值和正常的函数一样可以是任意数据类型

    我们可以看出,匿名函数并不是真的不能有名字。

    匿名函数的调用和正常的调用也没有什么分别。 就是 函数名(参数) 就可以了

    fromkeys用法
    描述
    Python 字典 fromkeys() 方法用于创建一个新的字典,
    并以可迭代对象中的元素分别作为字典中的键,且所有键对应同一个值,默认为None。
    语法
    fromkeys() 方法语法:1
    dict.fromkeys(iterable[,value=None])
    参数
    iterable-- 用于创建新的字典的键的可迭代对象(字符串、列表、元祖、字典)。
    value -- 可选参数, 字典所有键对应同一个值的初始值,默认为None。
    返回值
    该方法返回一个新的字典。

    以下实例展示了 fromkeys() 方法的使用方法:

    iterable1 = "12" # 字符串
    iterable2 = [1,2] # 列表
    iterable3 = (1,2) # 元祖
    iterable4 = {1:'one',2:'two'} # 字典
     
    v1 = dict.fromkeys(iterable1,'字符串')
    v2 = dict.fromkeys(iterable2,'列表')
    v3 = dict.fromkeys(iterable3,'元祖')
    v4 = dict.fromkeys(iterable4,'字典')
    v5 = dict.fromkeys(iterable4) #value默认为None
     
    print(v1)
    print(v2)
    print(v3)
    print(v4)
    print(v5)
    1 {'1': '字符串', '2': '字符串'}
    2 {1: '列表', 2: '列表'}
    3 {1: '元祖', 2: '元祖'}
    4 {1: '字典', 2: '字典'}
    5 {1: None, 2: None}

    注:fromkeys取出的是可迭代对象的每个元素

    python 的几个内置函数(lambda ,zip, filter, map, reduce )用法

    1.lambda lambda其实就是一条语句,lambda(x):body。x是lambda函数的参数,参数可以有任意多个(包括可选参数);body是函数体,只能是一个表达式,并且直接返回该表达式的值。
    >>>f=lambda x:x+1
    >>>f(2)
    3

    2.filter filter(func, list)接受两个参数:一个函数func和一个列表list,返回一个列表。函数func只能有一个参数。filter的功能:列表中所有元素作为参数传递给函数,返回可以另func返回真的元素的列表
    >>>l=['abc','acd','1245','ddad','aaa']
    >>>func(s)
    ... return s.startswith('a')
    >>>filter(func, l)
    ['abc','acd','aaa']

     filter为过滤list,并返回list,绑定的函数为一个返回bool值的函数 
     filter(lambda item:item>2,[1,2,3,4])
     >>>[3,4]

    3.zip  zip函数接受任意多个序列作为参数,将所有序列按相同的索引组合成一个元素是各个序列合并成的tuple的新序列,新的序列的长度以参数中最短的序列为准。另外(*)操作符与zip函数配合可以实现与zip相反的功能,即将合并的序列拆成多个tuple
    >>>x=[1,2,3],y=['a','b','c']
    >>>zip(x,y)
    [(1,'a'),(2,'b'),(3,'c')]
    >>>zip(*zip(x,y))
    [(1,2,3),('a','b','c')]

    4.map为操作list,返回list,绑定的函数为修改list中每一个值的函数
         >>> list=[1,2,3]
         >>> map(lambda x : x*2,list)
         >>> [2, 4, 6]
      
         5.reduce为逐次操作list里的每项,接收的参数为 2个,最后返回的为一个结果
         >>>  def myadd(x,y):   
         >>>               return x+y
         >>>   sum=reduce(myadd,(1,2,3))  
         >>> 6

    认真做一件事,并将之完全学会掌握为止!
  • 相关阅读:
    配置类Configuration怎样使用
    MVC三和,你能辨别它?
    杭州电 1372 Knight Moves(全站搜索模板称号)
    Verilog之i2c合约
    android requestDisallowInterceptTouchEvent用途
    其简单的通用适配器的定义
    开发专题指南: JEECG高速微云开发平台前言
    (1)QlikView概要
    HDU2841 Visible Trees (容斥原理)
    每天进步一点点——Linux系统时间来处理
  • 原文地址:https://www.cnblogs.com/wr13640959765/p/9211018.html
Copyright © 2011-2022 走看看