精华内容
下载资源
问答
  • 这是一本有关Excel好书籍,全书分6个主要部份,还提供了了附录。...第2部分:在公式中使用函数。第3部分:财务公式。第4部分:数组公式。第5部分:其它公式的应用。第6部分:开发自定义工作表函数
  • 补充资料:反函数函数inverse function反函数t~加“出佣;o6paT皿aa中,K”抓] 函数的完全逆象...这样,若f:X~Y且Yf为f的值域,玛CY,则对任意夕〔玛有’(y)一{‘:f(x)=y}· 若对一切y“Yf,夕的完全逆象恰由一个...

    补充资料:反函数

    反函数

    inverse function

    反函数t~加“出佣;o6paT皿aa中,K”抓] 函数的完全逆象,即对给定函数值域的每个元素y都对应所给函数定义域的一切那样的元素的集合,使它们被映成y若用f表示给定的函数,则用f一‘表示f的反函数.这样,若f:X~Y且Yf为f的值域,玛CY,则对任意夕〔玛有厂’(y)一{‘:f(x)=y}· 若对一切y“Yf,夕的完全逆象恰由一个元素x任X组成,即若映射f:X~Yf为一一映射,则反函数是单值的( sin乡e一val喇),否则便是多值的。朋ny·喇t犯d)‘ 若集合X与Y为实直线(或更一般地,某有序集)的子集,则f的严格单调性是使反函数也是严格单调的存在的充要条件. 反函数的许多性质可由f的相应性质确定.例如,若f为实直线的某一区间上严格单调且连续的函数,则它的反函数也是对应区间上严格单调且连续的.若一个由紧集到Hal肠do叮拓扑空间上的一一映射是连续的,则逆映射也是连续的,即原映射是映到其象集上的同胚(ho~morp恤m).当映射f是由Banach空间X到Banach空间Y上的一一有界线性算子时,则逆算子f一’也是线性与有界的. 设G为R”(。)2)中具有充分光滑边界的有界域,f为G的闭包百上的连续映射.设f为G中可微函数并映G的边界为f(G)的边界,并设f的Jacobi式的零点集为孤立集,则当f为在G的边界上一一映射时,在百上为一一的.为使局部逆映射在一给定点邻域存在,只需映射的犯cobi式在此点的某个邻域不为零若广G~R”,GCR”是在所有点x任G有非零玩obi式的可微映射,则对任意x。〔G,存在邻域U=U(x。),使f在U上的限制月U为U到y。=f(x。)的某个邻域V二V(y。)上的一一映射,且逆映射厂’(在V上)也是可微的.此定理可以推广到无穷维情形:设X与Y为完全赋范空间,GC=X为开集,且令f:G~Y为连续可微映射.若f’(x。)为有界线性算子空间了(X,Y)中的可逆元(f’为R闭以导数(F迁(het deri碳泣ti二)),x。任G,则在X与Y中分别存在x。的邻域U二U(x。)与夕。“f(x。)的邻域V二V(y。),使映射广U~v与其逆映射(mve招e InapP吨)为连续可微同胚.【补注】本文末段中的论断常称为反函数定理(m习e巧C-丘川ctionl比orelll). 现今“函数”一词常保留它的单值意义的场合,而“映射”是它的一个同义词.按此规定,只有双射(一一映上的函数)有反函数.在其他情形下,逆关系f一’(本文中称为多值函数)不是函数,除非像有时规定的那样把它看成集值函数.这样便引起孤立子集与其唯一元之间的重要且简单的区别. 郑维行译沈祖和校

    说明:补充资料仅用于学习参考,请勿用于其它任何用途。

    展开全文
  • 已知ABC三个的产品的合格率为0.8 0.9 0.95 随机从ABC三个抽出一个产品的,总共只能抽出一个 请问这个产品的合格的概率为 这就是全概率公式问题 如果是已知这个产品合格 请问这个产品来自A的概率是多少 这就是...

    在这里插入图片描述
    联系考研 概率论
    已知ABC三个厂的产品的合格率为0.8 0.9 0.95
    随机从ABC三个厂抽出一个产品的,总共只能抽出一个
    请问这个产品的合格的概率为
    这就是全概率公式问题
    如果是已知这个产品合格
    请问这个产品来自A厂的概率是多少
    这就是贝叶斯问题,倒推问题,已知结果推原因

    关键要掌握黄色部分的公式
    它有三个名字
    贝叶斯公式
    后验概率公式
    逆概率公式

    在这里插入图片描述

    展开全文
  • 复变函数札记

    2018-11-28 21:30:33
    由此引出它们的应用:留数定理、保角映射、厂函数、Beta函数、Jacobi椭圆函数以及鞍点法和驻相法。内容上的大跨度可以适合各类读者之需。书后完备的附录也给广大工程技术人员带来很大方便。《复变函数札记》适合理工...
  • Excel是办公室工作的常用软件,相信很多小伙伴对其并不陌生,Excel之所以这么受欢迎,是因为其内置的函数公式给使用者带来很大的方便,大大提高了工作效率。如果你正在学校,企业,工厂,银行等单位从事会计,统计...

    Excel是办公室工作的常用软件,相信很多小伙伴对其并不陌生,Excel之所以这么受欢迎,是因为其内置的函数和公式给使用者带来很大的方便,大大提高了工作效率。如果你正在学校,企业,工厂,银行等单位从事会计,统计,文员,数据分析,仓管等与数据有关的工作。Excel一定是你不可多得的好帮手。

    e98fd46ec06082be71bd8af95f787a2f.png

    小编我今天要跟大家分享的是AVERAGEIFS函数,也就是多条件求平均值。AVERAGEIFS函数是查找一组给定条件指定的单元格的算术平均值。函数写法看下图就明白了。

    7fd15ecf533c389bcb5355868abe7683.png

    先看第一个例子,这是一张成绩表,需要计算60分以上90分以下的平均分,因为涉及到两个条件,这里我们就可以使用AVERAGEIFS函数。

    07c4ba478cce5bc33581372d2c8e9bb7.png

    再看第二个例子,同样是这张成绩表,但是这次的条件比较复杂,要求计算两个班男女的平均分,同样使用我们的AVERAGEIFS函数,但是由于填充公式的时候有些区域会变化影响结果,所以这里要使用绝对引用。

    0b327bab9970c4b7d39fa062643a279c.png

    最后看第三个例子,同样是这张成绩表,从图中我们可以看出这里并没有使用绝对引用,同样也能得出正确的结果,是因为这里使用了数组,从图中公式也许我们会觉得比较复杂,其实也可以改为=AVERAGEIFS(D2:D10,C2:C10,{"男";"女"},A2:A10,{"1班

    展开全文
  • all 的函数sliceenumeratehelp创建容器的基础工厂类数值类型转换complexfloatintascii 函数数学公式相关排序 sorted面向对象编程相关的类objectclassmethodstaticmethodpropertyhasattrgetattrdelattrcallable()...

    02-python 基础语法知识-03-内置函数

    概述

    上一节 中 ,有写到 python的基础语法函数,今天 我们继续来看下 python中有哪些内置函数呢?

    所谓内置函数,就是当我们安装了python 的环境后,python解释器 已经帮助我们 创建很多的函数,这些函数功能,一般都是比较常用的,所以 叫做 内置函数 .

    内置函数 其实还有很多 ,我尽量把它都说明白 ,有很多的函数可能现在用不到 ,之后随着你学习python的深入 你就能 发现 很多是可以用到的.

    官方的内置函数 有下面那么多, 我看了一下 有 69个 .

    内置函数

    Python 解释器内置了很多函数和类型,您可以在任何时候使用它们。以下按字母表顺序列出它们。

    内置函数
    abs() delattr() hash() memoryview() set()
    all() dict() help() min() setattr()
    any() dir() hex() next() slice()
    ascii() divmod() id() object() sorted()
    bin() enumerate() input() oct() staticmethod()
    bool() eval() int() open() str()
    breakpoint() exec() isinstance() ord() sum()
    bytearray() filter() issubclass() pow() super()
    bytes() float() iter() print() tuple()
    callable() format() len() property() type()
    chr() frozenset() list() range() vars()
    classmethod() getattr() locals() repr() zip()
    compile() globals() map() reversed() __import__()
    complex() hasattr() max() round()

    14 *5 =70 -1 ==69

    看似 很多 其实 只要分类一下 ,就没有多少.

    简单分类一下

    • 进制转换函数
    • 函数式编程函数
    • 真值检测
    • any vs all 函数
    • 数值类型转换
    • 数学公式

    进制转换的函数

    有时候 我们 需要进行进制转换的时候,可以使用 以下 三个函数 进制函数 进行转换 .

    常用的一些转换

    bin() 十进制 转二进制

    hex() 十进制 转十六进制

    oct() 十进制 转八进制

    #十进制转二进制
    bin(x)
    
    #十进制转十六进制
    hex()
    
    #十进制转八进制
    oct()
    
    >>> num =16
    >>> oct(num)
    '0o20'
    >>> bin(num)
    '0b10000'
    >>> hex(num)
    '0x10'
    

    用法 比较简单 直接 传入一个数字,就可以了.

    比如 16 对应的二进制数字, 10000, 但是 解释 返回的是 0b10000 这里 0b 就是代表 二进制的意思

    同理 0x 代表16进制 , 0o 代表八进制

    注意 这里用进制转换函数后 ,返回的类型 str ,即字符串类型 ,此时就不是数字类型了.

    函数式编程

    • map

    • filter

    • zip

    函数式编程 是一个比较大的概念,这里 我只是简单说一下 这几个函数

    map

    map(function, iterable, )

    如果 你想对一个 序列 或者可迭代对象 进行批量操作,就可以使用这个函数来处理

    举例 :

    1. 比如 我想对一个序列中的每一个数字 进行 +1的操作
    if __name__ == '__main__':
        m = map(lambda x: x + 1, [1, 2, 3, 4])
    
        for i in m:
            print(i)
    
    

    这里的意思 就是 list 中每一个数字 ,使用前面的函数 调用一下,返回一个 map 对象, 然后这个对象 可以迭代.

    通过迭代就可以取值了.

    结果如下:

    2
    3
    4
    5	
    
    1. 我想对一组序列 实现 乘*2 这样的操作,

      相信你 已经知道怎么做了

      if __name__ == '__main__':
          m = map(lambda x: x*2, [1, 2, 3, 4])
      
          for i in m:
              print(i)
              
      
    2. 我想 对一组数 取 绝对值 的操作

      if __name__ == '__main__':
          m = map(lambda x: abs(x), [1, -2, -3, 4])
      
          for i in m:
              print(i)
      

    是不是很简单,这个就是map 的作用,如果想对一组数据进行批量的相同 的操作,就可以考虑使用map 来实现这功能,

    当然 你可以不使用map 也可以实现,直接 for 循环然后调用函数 也是可以的, 但是一般情况,内置的函数 效率会相对高一些.

    filter

    filter(function, iterable)

    filter 看意思就是过滤的意思, 当你想从一组数据里面 过滤一部分数据的时候可以使用.

    用法和map 类似, 也是 传入一个函数,传入一个可迭代对象 .

    如果函数 返回一个 True 则这个对象 将会被留下来,

    如果函数返回False,则这个对象 将会过滤掉.

    举例1

    如果 从一个可迭代对象 获取 是偶数的值 ,就可以 使用 filter 来 实现.

    def is_even(x) -> bool:
        """
         x是偶数
        :param x:
        :return:
        """
        return x % 2 == 0
    
    
    if __name__ == '__main__':
    
        f = filter(is_even, range(10))
        for i in f:
            print(i, end=' ')
        print('\n')
    

    过滤奇数 ,只要改变 function 的过滤条件就可以 了.

    def is_even(x) -> bool:
        """
        是偶数
        :param x:
        :return:
        """
        return x % 2 == 0
    
    
    def is_odd(x) -> bool:
        """
        是奇数
        :param x:
        :return:
        """
        return x % 2 == 1
    
    
    if __name__ == '__main__':
        f = filter(is_even, range(10))
    
        evens = [i for i in f]
        print(evens)
        f2 = filter(is_odd, range(10))
        l = [i for i in f2]
        print(l)
    
    

    zip

    zip(*iterables)

    创建一个聚合了来自每个可迭代对象中的元素的迭代器。

    假设 我有两组 数据

    一组 是姓名, 一组是排名 ,我想把两组数据关联起来,这个时候 可以考虑 使用zip

    zip 会分别从每组中去一个元素, 然后组成一个元祖 ,按顺序拿值

    if __name__ == '__main__':
        names = ['laoda', 'laoer', 'weilaosan', 'frank']
        rank = [1, 2, 3, 4]
        m = zip(names, rank)
    
        print(list(m))
    	
    

    结果如下:

    [('laoda', 1), ('laoer', 2), ('weilaosan', 3), ('frank', 4)]
    

    我们可以把它组成字典, 还记得 字典的创建方法吗, 有一种是可以通过这种结果来创建

    >>> names = ['laoda', 'laoer', 'weilaosan', 'frank']
    ... rank = [1, 2, 3, 4]
    >>> m = zip(names, rank)
    ... 
    >>> dict(m)
    {'laoda': 1, 'laoer': 2, 'weilaosan': 3, 'frank': 4}
    
    >>> # 注意这里
    >>> dict(m)
    {}
    

    我们发现 第一次 我成功创建了字典, 而当我 在使用dict 构造一个字典的时候 ,发现 返回了一个空字典?

    这里 你可能会有疑惑, 其实 这就是 迭代器的特点. 每次 迭代 返回一个元素,当迭代完成的时候,迭代器 中已经没有 数据了. 下一次 在迭代的时候 ,也就没有数据了.所以返回是空字典. 可能有点难理解, 之后 我有时间 在详细 解释一下 这个问题吧, 现在 先留在这里吧.

    如果 zip 中有三个 可迭代对象呢?

    还是一样的, 还是从每一个对象拿出来一个,然后组成一个元祖. 组成的元素 就是 一个元祖来自三个 迭代对象.

    if __name__ == '__main__':
        names = ['laoda', 'laoer', 'weilaosan', 'frank']
        rank = [1, 2, 3, 4]
        heights = ['165cm', '170cm', '175cm', '165cm']
        m = zip(names, rank, heights)
    
        for item in m:
            print(item)   
    

    结果如下:

    ('laoda', 1, '165cm')
    ('laoer', 2, '170cm')
    ('weilaosan', 3, '175cm')
    ('frank', 4, '165cm')
    

    你可能 会有疑惑 ,如果可迭代对象的长度 不一样呢? zip 会报错吗 ?

    答案是不会,

    而是以最短的迭代对象 为主,如果没有元素 就停止 组成元祖, 即最后结果是 最短的那个可迭代对象的长度 .

    举个例子

    names 长度 是5 , rank 长度是4

    经过zip 操作后, 返回 长度是4 ,并且 'laowu' 被丢掉了.

    >>> names = ['laoda', 'laoer', 'weilaosan', 'frank', 'laowu']
    ... rank = [1, 2, 3, 4]
    ... 
    >>> 
    >>> m = zip(names,rank)
    >>> list(m)
    [('laoda', 1), ('laoer', 2), ('weilaosan', 3), ('frank', 4)]
    

    rank 的长度是4 , names 长度是3,同样 是丢掉了rank 最后一个元素.

    >>> names = ['laoda', 'laoer', 'weilaosan']
    ... rank = [1, 2, 3, 4]
    >>> 
    >>> m = zip(names,rank)
    >>> list(m)
    [('laoda', 1), ('laoer', 2), ('weilaosan', 3)]
    

    有的时候 我们 可能 想保存 最大的那个长度的数据,如果没有对应的值,可以给一个默认值来填充?

    其实 是有办法的, 不过这里 我先不介绍了,之后 查一查资料 ,或者搜索 相信你会有收获的.(zip_longest)

    好了 zip 的用法就基本 说完了, 这个函数方便 把几组数据关联起来.

    真值检测

    bool() 还记得 之前我们学习的 真值检测吗? 当时我说 如果你不确定 这个值 是否是真值怎么办?

    就可以 使用这个函数 可以检测 这个表达式是否为真值

    02-python 基础语法知识-01流程控制 -真值检测

    这个函数 返回一个布尔值 True or False

    如果你不确定这个 元素,或者对象 是否为真值,就可以调用这个函数来判断了.

    注意 python3.7 中 : x 只能是位置参数

    >>> bool("hello")
    True
    
    >>> bool("Love is the most beautiful things.")
    True
    
    >>> bool(0)
    False
    >>> bool(1)
    True
    >>> bool("believe In love")
    True
    

    你看看 计算机 都 '相信爱情', 所以 我们没有理由不相信. 爱情会来的,面包也会有的.

    any vs. all 的函数

    any 只要一组序列中有真值,则返回真,否则返回假.

    all 一组序列中所有的都为真值,则返回真, 否则 返回假 .

    >>> any([1,2,3,4])
    True
    >>> any([1,2,3,4,False])
    True
    >>> any([1,2,3,4,False])
    True
    >>> all([1,2,3,4,False])
    False
    
    #注意这里,对一个空list操作返回 True 
    >>> all([])
    True
    
    

    slice

    slice 是切片,可以返回一个切片, 然后可以给切片 起个名字 .

    还记得 list 中可以使用切片吗?

    >>> number = [1, 3, 4, 5, 7]
    ... 
    >>> 
    >>> number[1:3]
    [3, 4]
    

    这里 1:3 其实就是说 就是一个切片.

    看下面的例子,这里 如果我想获取中间的元素, 不要 第一个 和最后一个元素,

    就可以使用切片来完成. 有时候 可以使用切片,给要截取的数据一个更好的名称,方便 我们以后查看自己代码的时候,当初 为啥要截取那个一段. 这个是时候 就可以通过切片来给要截取的那一段进行命名。

    >>> number = [1, 3, 4, 5, 7]
    ... 
    ... mid = slice(1, 4, 1)
    >>> 
    >>> 
    >>> print(number[mid])
    ... 
    ... print(number[1:4])
    [3, 4, 5]
    [3, 4, 5]
    >>> 
    

    enumerate

    有时候 在我们 迭代 可迭代对象的时候,可以定义一个计算器,代表第几个元素.

    enumerate 会返回两个值,一个是这个值的索引一个是这个值本身

    >>> number = [1, 3, 4, 5, 7]
    >>> for  i ,n in enumerate(number):
    ...     print(i,n)
    ...     
    0 1
    1 3
    2 4
    3 5
    4 7
    

    enumerate(iterable, start=0)

    有一个参数 start 代表你想一个索引从多少开始,默认 start =0 ,即 0,1,2,…

    如果start =2 , 则索引就是 2,3,4 …

    看下面的例子

    >>> number = [1, 3, 4, 5, 7]
    >>> for  i ,n in enumerate(number,start=2):
    ...     print(i,n)
    ...     
    2 1
    3 3
    4 4
    5 5
    6 7
    

    help

    这个函数 几乎看名字 也能知道是什么意思了? 如果你不清楚某个东西如何使用,可以调用help 来查看它的用法.

    >>> number
    [1, 3, 4, 5, 7]
    >>> help(number)
    Help on list object:
    
    class list(object)
     |  list(iterable=(), /)
     |  
     |  Built-in mutable sequence.
     |  
     |  If no argument is given, the constructor creates a new empty list.
     |  The argument must be an iterable if specified.
     |  
     ....
    
    
    

    几乎 你可以往 help 放入 任何东西,

    >>> help(1)
    Help on int object:
    
    class int(object)
     |  int([x]) -> integer
     |  int(x, base=10) -> integer
     |  
     |  Convert a number or string to an integer, or return 0 if no arguments
     |  are given.  If x is a number, return x.__int__().  For floating point
     |  numbers, this truncates towards zero.
     |  
     |  If x is not a number or if base is given, then x must be a string,
     |  bytes, or bytearray instance representing an integer literal in the
     |  given base.  The literal can be preceded by '+' or '-' and be surrounded
     |  by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
     |  Base 0 means to interpret the base from the string as an integer literal.
     |  >>> int('0b100', base=0)
     |  4
     ...
    

    如果你对某个用法记不清楚了,可以通过 help 去查看 文档

    比如查看 字典的有哪些方法

    >>> help(dict)
    Help on class dict in module builtins:
    
    class dict(object)
     |  dict() -> new empty dictionary
     |  dict(mapping) -> new dictionary initialized from a mapping object's
     |      (key, value) pairs
     |  dict(iterable) -> new dictionary initialized as if via:
     |      d = {}
     |      for k, v in iterable:
     |          d[k] = v
     |  dict(**kwargs) -> new dictionary initialized with the name=value pairs
     |      in the keyword argument list.  For example:  dict(one=1, two=2)
     |  
     |  Methods defined here:
    
    
    

    迭代器 切片

    https://python3-cookbook.readthedocs.io/zh_CN/latest/c04/p07_taking_slice_of_iterator.html

    创建容器的基础工厂类

    这里应该是叫 类 ,而不是函数,但是 它们都是可调用的.

    list() set() tuple() dict() str() 这些用于构造容器的空对象

    l = list()
    l = set()
    l = tuple()
    l = str()
    l = dict()
    

    这些空对象,就可以 通过这些类 构造一个没有内容的空对象.

    数值类型转换

    float(x)

    int(x,base)

    complex .

    ascii()

    complex

    这个有在 之前的数据类型有介绍过,翻看之前 讲数据类型的文章。

    float

    float 接收一个字符串, 然后 返回一个float 类型的数字 ,如果 传入的字符串 是不能转的类型,会报错 ValueError.

    >>> float('344.232132')
    344.232132
    >>> float('   44.232132   ')
    44.232132
    >>> 
    >>> float('+1.23')
    1.23
    
    >>> float('+1.23avc')
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
    ValueError: could not convert string to float: '+1.23avc'
    
    
    

    int

    int 这个可以接收 x和base 默认 是十进制,base 就是转成多少进制的数字 .

    返回一个转换好的数字

    注意 x 要是 str 类型 ,base 要转成 多少进制数,默认值 base =10

    如果不能转 ,会报错, ValueError .

    >>> int('10001',2)
    17
    >>> int('10001',10)
    10001
    >>> int('10001',10)
    10001
    >>> int('10001',10)
    10001
    >>> int('16',2)
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
    ValueError: invalid literal for int() with base 2: '16'
    

    ‘16’ 就不能 转成 二进制,因为二进制 要求 字符 只能有 01 这两种字符. 所以这里会报错.

    ascii 函数

    ​ 这个函数 和 repr() 这个函数有点类似 返回一个字符串的表示, 这个函数并不是 讲一个字符 转化为一个 ascii 码 ,如果你需要 讲一个字符 转化为对应的ASCII 码 可以使用 chr() 这个函数。

    下面就是官方的解释

    就像函数 repr(),返回一个对象可打印的字符串,但是 repr() 返回的字符串中非 ASCII 编码的字符,会使用 \x\u\U 来转义。生成的字符串和 Python 2 的 repr() 返回的结果相似。

    
    >>> ascii('frank')
    "'frank'"
    >>> ascii(b'frank')
    "b'frank'"
    >>> ascii(range(10))
    'range(0, 10)'
    >>> ascii([1,2,3])
    '[1, 2, 3]'
    >>> ascii({"name":"frank","age":18})
    "{'name': 'frank', 'age': 18}"
    

    数学公式相关

    这里涉及一些 数值 计算,数值转换的一些 函数

    pow(x,y) 求 x 的y 次方

    max(),min(), sum() 求最大 ,最小 ,求和

    round(number,ndigits) 类似 于 四舍五入吧

    abs() 用来 取绝对值

    divmod 获取整除的值,和取余的结果

    >>> max(range(10))
    9
    >>> min(range(10))
    0
    >>> sum(range(10))
    45
    
    >>> pow(2,5)
    32
    >>> pow(2,3)
    8
    >>> pow(3,3)
    27
    
    
    >>> abs(10)
    10
    >>> abs(-10)
    10
    >>> abs(-1.5)
    1.5
    >>> abs(1.5)
    1.5
    >>> abs(0)
    0
    

    这里比较简单 就不说了. 只要记住 函数名称 就可以了 .

    round(number,ndigits) 类似于 四舍五入吧.

    number 你要传入的数字, ndigits 你要保留几位有效数字

    round官方文档

    >>> round(2.3456,2)
    2.35
    >>> round(2.3456,3)
    2.346
    >>> round(-2.3456,2)
    -2.35
    
    
    # 注意这里
    >>> round(2.675,2)
    2.67
    

    官网 给出 一个解释 说 这是由于 小数 在计算机中表示 不精确导致的问题.

    divmod(a, b)

    它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。对于混合操作数类型,适用双目算术运算符的规则。对于整数,结果和 (a // b, a % b) 一致

    这个函数返回结果是一个元祖

    
    >>> divmod(13,3)
    (4, 1)
    
    >>> divmod(15,2)
    (7, 1)
    
    

    排序 sorted

    排序函数,可以对一个 可迭代对象进行排序

    sorted(iterable, *, key=None, reverse=False)

    排序函数,可以对一个 可迭代对象进行排序

    key 指定带有单个参数的函数,用于从 iterable 的每个元素中提取用于比较的键 (例如 key=str.lower)。 默认值为 None (直接比较元素)。 key 很多的时候 使用 lamba 表达式来完成 的。

    reverse 是一个bool 值, 默认是False 即升序排列。 reverse=True 则为降序排序。

    这个函数会返回一个 已经排好序的对象,不会对 iterable 参数任何影响。

    还有 sorted 保证排序是稳定的。

    给一个list 进行排序

    
    >>> t
    [5, 7, 2, 3, 9, 1, 8, 4, 0, 6]
    >>> sorted(t)
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    >>> # t 的顺序本身没有改变
    >>> t
    [5, 7, 2, 3, 9, 1, 8, 4, 0, 6]
    

    再看一个例子 对应元祖的某个位置进行排序

    可以使用 lambda 表达式来构造一个匿名函数 来实现

    可以借助 operator模块里面的 itemgetter 也可以实现类似排序的功能。

    
    from operator import itemgetter
    
    
    if __name__ == '__main__':
        persons = [
            ('frank', 19, 56),
            ('laoda', 20, 86),
            ('weiliang', 22, 59),
            ('lile', 23, 79),
    
        ]
    
        sorted_p = sorted(persons, key=lambda e: e[2])
        print(sorted_p)
    
        # 也可以使用 itemgetter 这种方式排序
        sorted_p = sorted(persons, key=itemgetter(2))
        print(sorted_p)
        # [('frank', 19, 56), ('weiliang', 22, 59), ('lile', 23, 79), ('laoda', 20, 86)]
        pass
    
    

    排序 是一个比较大的话题,有时间的话,我会写一下 关于python的一些排序 list.sort() vs. sorted() 的一些区别等。这里可以先了解一下 可以 指定key 来实现排序, reverse 来控制是升序还是降序排序。

    面向对象编程相关的类

    object

    所有的类 都默认继承 object 这个类, 这是所有python 类的基类。 当然我这句话 说的不够严谨。 之后会在面向对象里面的继续讲解。

    classmethod

    这个将一个函数变成一个类方法 ,如果你还不知道面向对象的知识,先知道有这个方法即可,有时间 我会继续 写一下 面向对象的知识。 这里说一下基本用法

    class Factory:
        
        @classmethod
        def f(cls, arg1, arg2):
            pass
        
    

    只需要这样写就可以了,就可以将一个普通的函数 变成一个类方法了。

    staticmethod

    这个就是讲一个函数 强行到放到一个类中,这个函数 和这个类 本身没有什么关系,放到类中 只是希望 在类中可以访问这个函数,不希望 类的外面使用这个函数, 之后又时间 会在 面向对象编程的章节继续详解 这些方法的区别 .

    下面add 方法 就是一个static method

    class Factory:
        @classmethod
        def f(cls, arg1, arg2):
            pass
        
        @staticmethod
        def add(a:int,b:int)-> int:
            return a+b 
    

    property

    这个翻译过来应该叫特性吧, 将以属性变成一个特性。 这个一般 需要对属性进行 控制的时候 会用到这个的。

    python3中的特性property介绍

    之前我写的一篇文章 ,比较详细的介绍了这个property 的用法。

    hasattr

    这个用来查看一个 对象中是否包含一个属性 ,如果有返回True,否则返回False. 之后再面向对象编程里面 会说一下这个方法。

    getattr

    这个用来获取某个对象的这个属性的值,之后再面向对象编程里面 会说一下这个方法。

    delattr

    用来 删除对象的 一些属性,用的比较少。之后再面向对象编程里面 会说一下这个方法。

    delattr()

    callable()

    这个 函数 挺重要的 , 这个可以判断 一个对象是否为可调用的, 如果是可调用的返回为True,否则返回为False。

    举个例子,一般函数是 可调用的。

    看个例子

    >>> 
    ... def say_hello():
    ...     print("hello frank")
    ...     
    
    >>> callable(say_hello)
    True
    
    
    

    以这个例子为例

    定义了一个学生类

    class Student:
    
        def __init__(self, name, age, score):
            self.name = name
            self.age = age
            self.score = score
    
        def __str__(self):
            return '%s(name:%s,age:%s,score:%s)' % (self.__class__.__name__, self.name, self.age, self.score)
    
        __repr__ = __str__
    
    >>> callable(Student)
    True
    >>> s = Student('frank',18,89)
    >>> callable(s)
    False
    

    可以看到 Student 这个类 是可调用的, 但是s 却是不可调用的。

    你可能会好奇 为啥呢?

    其实没有那么复杂 ,判断 是否可以调用 只要看这个对象 能否 执行 obj(*args,**kw)这个代码,如果可以 就是可调用的,否则就不行。

    关于这个话题 我之前 有写过一个文章,看下这个文章 应该就可以理解了

    python中什么是 可调用的,什么是不可调用的

    杂项

    chr 函数

    chr(i)

    返回 Unicode 码位为整数 i 的字符的字符串格式

    实参的合法范围是 0 到 1,114,111(16 进制表示是 0x10FFFF)。如果 i 超过这个范围,会触发 ValueError 异常。

    >>> chr(97)
    'a'
    >>> chr(65)
    'A'
    >>> chr(127)
    '\x7f'
    >>> chr(12799)
    'ㇿ'
    

    ord 函数

    ord© 是 chr 的逆函数, 这里将 一个字符 转换成一个整数

    对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数。例如 ord('a') 返回整数 97

    >>> ord('c')
    99
    >>> ord('f')
    102
    >>> ord('r')
    114
    >>> ord('a')
    97
    >>> ord('n')
    110
    >>> ord('k')
    107
    

    id

    id() 函数, 返回对象的“标识值”。该值是一个整数,在此对象的生命周期中保证是唯一且恒定的。 即两个对象 不会有 相同的 id 值。

    a = 10 
    b = 20 
    
    >>> id(a)
    140733509497376
    >>> id(b)
    140733509497696
    

    看这里 就可以看出 id 值不相同,我们认为 a,b 不是同一个对象。 所以以后如果要判断 两个对象是不是同一个对象 ,就可以看 id 值 是否一样就可以了。

    open

    这个 一般用来打开文件的时候用到的。 我之前有写过一个文章 。

    03-python中的文件操作-01

    bytes

    这个之前 的文章 基础类型有讲过,只要记得 bytes 和str 如何转换就可以了。

    eval

    eval 这个函数 比较强大,可以执行 代码的字符串

    就是说一段 本来 是代码,现在变成了一个字符串 ,通过这个函数就可以执行这段代码。

    >>> eval('1 + 23')
    24
    >>> eval('1 + 520')
    521
    >>> eval(' 3* 5')
    15
    
    >>> eval('pow(2,4)')
    16
    
    >>> x =10
    >>> eval('x +15')
    25
    

    ​ 看到这个函数功能 挺强大的吧, 就是只要是一段代码的字符串 ,就可以直接运行。 这样感觉非常酷。 但是实际上最好不要使用这个函数,就是安全性的问题,因为 你并不知道 字段字符串里面会写什么操作,如果是一些比较复杂的操作,比如删除一些操作系统核心的文件,或者恶意破坏的程序。 这样 直接执行一段 代码 是比较危险的行为。

    len

    看到这个名称 就知道用来求长度,大部分对象 都可以通过这个方法来获取长度。

    len() 中可以放 很多东西, 常用的一些容器类,list ,str ,dict ,set ,tuple 等这些都是可以求长度的,

    就是对应容器 有多少个元素。

    之后我们 学习 面向对象编程的时候,就可以自己定义 一个对象的长度啦。

    >>> sentences
    'I am Frank'
    >>> 
    >>> del  setences 
    >>> sentences
    'I am Frank'
    >>> len(sentences)
    10
    >>> len(10)
    Traceback (most recent call last):
      File "<input>", line 1, in <module>
    TypeError: object of type 'int' has no len()
    >>> len([1,2,3,4])
    4
    >>> len((1,2,3,4))
    4
    >>> d = {
    ...     "name": "frank",
    ... }
    >>> d
    {'name': 'frank'}
    >>> person = {
    ...     "name": "frank",
    ...     "age": 18,
    ...     "hobby": "swimming",
    ...     "language": ["java", "php", "c", "goland"]
    ... }
    >>> len(person)
    4
    >>> len(set([1,2,4,5,6]))
    5
    
    

    总结

    ​ 本文 主要写 了一些 比较常用的一些内置方法, 还有一些 没有讲到,有时间 在继续补充一下,很多的时候 我们 只用到 一部分,更多的时候,我们可以查看官方文档,就知道如何使用了。 这里 介绍 一下 比较常用的一些 内置函数。 加油,好好学习,天天向上。

    参考文档

    python3.7 内置函数整理

    python3.x常用内置函数

    Python --内置函数(68个)讲解

    bulit funcitions

    分享快乐,留住感动. 2020-05-24 23:02:48 --frank
    展开全文
  • Spads 公式解析系统

    热门讨论 2012-11-03 01:10:52
    公式解析系统能够计算各种算术运算、逻辑运算和比较运算,可以连接本地函数,支持括号分级,允许逐级设置公式内临时变量,提供了分支运算符,并且支持 Json 数据格式的运算。系统编写中使用了很多设计方法,包括...
  • 2. 将CIE94公式中的明度权重函数修改为近似V形函数;3. 在色相权重函数中考虑了色相角,以体现色兼容限随颜色的色相而变化的事实;4. 包含了与BFD和Leeds色差公式中类似的椭圆选择选项,以反映在蓝色区域的色差容限...
  • 2. 将CIE94公式中的明度权重函数修改为近似V形函数;3. 在色相权重函数中考虑了色相角,以体现色兼容限随颜色的色相而变化的事实;4. 包含了与BFD和Leeds色差公式中类似的椭圆选择选项,以反映在蓝色区域的色差容限...
  • 由此引出它们的应用:留数定理、保角映射、厂函数、Beta函数、Jacobi椭圆函数以及鞍点法和驻相法。内容上的大跨度可以适合各类读者之需。书后完备的附录也给广大工程技术人员带来很大方便。《复变函数札记》适合理工...
  • 计算工厂 2

    2007-10-22 11:25:33
    公式集可包括多个公式,同一公式集里的公式可互相引用,即一个公式可在另一公式中作为变量被使用。 7. 保存最近使用过的公式列表,可直接在列表中选择公式进行求值。 8. 提供本地的公式库管理功能(添加、...
  • 本书主要适用于希望快速掌握Excel函数相关知识,并使用公式函数解决办公中实际问题的用户,适用于不同年龄段的办公人员、文秘、财务人员、公务员,尤其对刚进入职场的工作人员,在解决实际问题上有很大的指导作用...
  • 首先阐述了基于能量角度对植物工厂与作物结合的动态模型描述各个系统状态变量之间的关系,然后建立了关于温度的最优控制模型,并将最优控制模型进行一般公式化。基于奇异摄动理论将非线性植物工厂与作物系统分解成...
  • 从生产工厂收集为期一个月的所需数据,然后制定目标函数和约束条件。 管理层在满足需求方面至关重要,因此不会有任何不满意的客户。 根据管理要求,该模型获得的任何可行解都必须满足需求。 因此,需求约束被视为硬...
  • 逻辑回归之线性可分

    2020-11-07 19:03:17
    文章目录公式推导1.Sigmoid函数2.损失函数3. 梯度下降函数代码实现 逻辑回归-线性不可分案例 案例:设想你是工厂的生产主管,你要决定是否芯片要被接受或抛弃 数据集:ex2data2.txt,芯片在两次测试中的测试结果 ...
  • 本文介绍较简单的优化模型,归结微积分中函数的机制问题,可以直接用微分法求解。1. 存贮模型 工厂订购原料,出售商品,都需要确定贮存量。 1.1不允许缺货的存贮模型 经济批量订货公式(EOQ公式) 用于订货、供应、...
  • 本文介绍较简单的优化模型,归结微积分中函数的机制问题,可以直接用微分法求解。1. 存贮模型工厂订购原料,出售商品,都需要确定贮存量。1.1不允许缺货的存贮模型经济批量订货公式(EOQ公式)用于订货、供应、存贮...
  • 我用毕达哥拉斯,然后在上面找到了一个公式。在它可以正常工作,但是数学运算失败了,因为它给输出增加了或多或少的经度。它应该产生与参考位置非常相似的数据,因为它的距离永远不会超过50米。在下面是JSON...
  • 数学模型公式是通过电气知识以及原理得到的函数,里面的部分参数无精确值,会由于环境因素的改变而改变。 Simulink中自带的光伏电池模块是基于上式建立的 (simulink自带光伏电池,点ctr U看内部) 光伏电池厂家出厂...
  • 公式推理 1.损失函数 比线性可分加上了正则化项 防止过拟合 2.梯度下降 代码 首先需要观察是不是线性可分的 import numpy as np import pandas as pd import matplotlib.pyplot as plt path = 'ex2data2.txt...
  • 利用导数研究不等式问题高一数学:函数的奇偶性及相关简单应用袁亚湘院士《数学漫谈》讲座课件林琳——用配方法解两道数学最值题高中数学:数列递推公式的9种常见模型初中与高中数学衔接教材(上)ooo全面完整版初中与...
  • 提供大量统计报表支持数据导入、导出功能、 计算公式支持多种函数。支持工资支持个人所得税计算、计件、计时工资核算,支持按工序核算录入计件工资。强大的工资统计分析、报表打印,各种数据可以转换为EXCEL数据...
  •  5.3 函数类型--一个函数和闭包的例子   5.4 神奇的null和undefined   5.4.1 null   5.4.2 undefined--独一无二的类型   5.5 正则表达式   5.5.1 正则表达式常量   5.5.2 正则表达式对象   5.6 值...
  • 针对《城镇供热直埋热水管道技术规程》中疲劳分析缺乏供热管道循环次数的问题,对某市大型热电和大型区域锅炉房的供水温度连续测试了5个采暖期,按照t分布函数计算出每天、每周和每月的最大循环温差,以及样本方差的...
  • 我们展示了如何通过生成函数确定模型的特征函数。 在基于傅立叶变换的欧式和美式期权定价中满足PIDE的财务索赔的近似形式特征公式已完成。 用于研究欧洲期权定价的基于数字的傅立叶变换算法FFT已扩展到正在研究的...
  • 工资项目及计算公式自由设定,最多可以设立50个工资项目,计算公式支持多种函数。支持工资表格格式调整功能,支持个人所得税计算、计件、计时工资核算,支持按工序核算录入计件工资。强大的工资统计分析、报表打印,...
  •  其特点是:用“复合元素(符号)”将数学公式、几何图形、函数曲线、物理图形(力学、光学、电磁学)、光学器件、化学图形(元件、器件、化学分子式)等完全文字流化,彻底抛弃了目前常见的“以图片插件解决数理化...
  •  工资管理:为充分适应差异化的企业薪资管理需求,允许自定义工资项、临时调整薪资、批量调整薪资、灵活定义个税等,并允许用户设计个性化的薪资计算函数,完成复杂的薪资公式设计。  考勤管理:将员工考勤与请销...
  • 10.3.3 构造函数、析构函数及Winner 函数 308 10.3.4 初始化赢者树 308 10.3.5 重新组织比赛 310 10.4 输者树 311 10.5 应用 312 10.5.1 用最先匹配法求解箱子装载 问题 312 10.5.2 用相邻匹配法求解箱子...
  • 10.3.3 构造函数、析构函数及Winner 函数 308 10.3.4 初始化赢者树 308 10.3.5 重新组织比赛 310 10.4 输者树 311 10.5 应用 312 10.5.1 用最先匹配法求解箱子装载 问题 312 10.5.2 用相邻匹配法求解箱子...

空空如也

空空如也

1 2 3 4
收藏数 64
精华内容 25
关键字:

厂函数公式