zoukankan      html  css  js  c++  java
  • python常用函数和方法

    语法语句篇

    除法运算(精确运算和截断运算)

      在python2中,除法运算通常是截断除法。什么是截断除法:

    >>> 3/4
    0  # 自动忽略小数项

    要是想 得到正确结果 怎么办呢?

    method1:

    >>> 3. /4
    0.75  # 3. 表示 3.0, 表示的是浮点数

    method2:

    >>> from __future__ import division    # 导入这个语句后, “/”此后均执行 精确除法
    >>> 3/4
    0.75  #精确除非 /
    >>> 3//4
    0  # 截断除法 //

    而在python3版本后, “/” 表示的除法就直接为 准确除法, “//” 表示的是 截断除法。

    访问限制修饰符

      python 不像 java 由关键字(public, 默认,prtected,private)来控制方法和属性的访问权限。python中属性和方法的访问限制通过下划线来控制。

    “单下划线”修饰的变量叫做保护变量(类似于java中的protected),表示只能由该类对象和子类对象才能访问到的变量; “双下划线”修饰的变量叫做私有变量(类似于java中的private),表示仅有该类对象才能访问,子类对象不能访问。

    _coef = 0 #保护变量, 类对象和子类对象访问
    
    __coef = 0 #私有变量, 只能类对象访问

    实用函数篇

     join()函数

    用处:连接字符串数组。将字符串、元组、列表中的元素以指定的分隔符连接生成一个新的字符串

    # 格式
    'sep'.join(seq) 
    # sep - 分隔符, 可为空
    # seq - 要连接的元素序列
    """例子:
        ''.join(list)
    """

    lambda表达式

    # 格式:
    lambda [arguments]: expression
    # 匿名函数

    map函数

    # 格式:
    map(func, seq1[, seq2,...]) 
    #第一个参数接收一个函数名(func),后面的参数接收一个或多个可迭代的序列,返回一个map对象(python3版本) 或 一个集合(python2版本)。
    #作用: 将func作用于seq每一个元素

    例:

    # 仅有一个seq
    >>> list(map(lambda a: a**2, [1,2,3,4,5]))  
    [1, 4, 9, 16, 25]
    # 有多个seq
    >>> list(map(lambda a, b: a+b, [1,2,3],[4,5,6]))
    [5, 7, 9]
    
    >>> list(map(lambda a, b: (a-b, a+b), [1,2,3],[4,5,6])) #还可以返回一个元祖
    [(-3, 5), (-3, 7), (-3, 9)]

     zip函数

    # 格式:
    zip([iterable, ...]) 
    # 两个或多个可迭代对象
    >>> list(zip([1,2,3],[4,5,6],[7,8,9]))
    [(1, 4, 7), (2, 5, 8), (3, 6, 9)]

     reduce 函数

    # 格式
    reduce( func, seq[, init] )
    # func - 函数,必选参数
    # seq - 数据集合,必选参数
    # init - 初始值,可选参数

    注:func先对集合中的第1,2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。有初始值时,func现对初始值和第一个数据进行计算,得到的结果再与第二个数据用func()函数运算,……。

    reduce( func, [1, 2,3] ) 相当于 func( func(1, 2), 3)

    enumerate函数

    #格式:
    enumerate(seq, [start=num])
    #seq - 一个可迭代的对象; start - 下标起始位点
    #作用: 将一个可迭代的对象组合成一个索引序列,同时列出数据和数据的下标,一般用于for循环中。
    

    例:

    >>> lis1 = ['one', 'two', 'three', 'four', 'five', 'six']
    >>> list(enumerate(lis1))
    [(0, 'one'), (1, 'two'), (2, 'three'), (3, 'four'), (4, 'five'), (5, 'six')]
    >>> list(enumerate(lis1, start=2))
    [(2, 'one'), (3, 'two'), (4, 'three'), (5, 'four'), (6, 'five'), (7, 'six')]

     闭包函数

      闭包函数必须满足两个要求:

    1. 函数内部定义的函数

    2. 包含对外部变量而非全局变量的引用

    from urllib.request import urlopen
    
    def index(url)
        def get()
            return urlopen(url).read()
        return get
    
    python = index("http://www.python.org") # 返回的是get函数的地址
    print(python()) # 执行get函数《并且将返回的结果打印出
  • 相关阅读:
    新学期,新起点
    判断整数的正负零特性
    C# 静态类与非静态类、静态成员的区别
    适配器模式:类适配器和对象适配器
    设计模式学习笔记
    C# 全局变量的实现
    设计模式
    Tuples in .Net 4 (System.Tuple)
    EnableViewState
    HashMap 、HashTable、HashSet的区别
  • 原文地址:https://www.cnblogs.com/lianyingteng/p/7708945.html
Copyright © 2011-2022 走看看