zoukankan      html  css  js  c++  java
  • Python常用函数、方法、模块记录

    常用函数:

    1.pow():乘方

    2.abs():绝对值

    3.round():四舍五入

    4.int():转换为整数

    5.input():键盘输入(会根据用户的输入来做类型的转换)

       raw_input():键盘输入(会把用户的输入都作为一个字符串来处理)

    6.str():它会把值转换为合理形式的字符串,以例用户可以理解;

       repr():它会创建一个字符串,它以合法的python表达式的形式来表示值。

    7.长字符串带跨行:'''  '''

     原始字符串:r'  '

       Unicode字符串:u'  '

    8.list():将一个字符串拆分成列表

    9.tuple():以一个序列作为参数并把它转换为元组

    10.dict():通过其他映射(比如其他字典)或(键,值)这样的序列对建立字典;也可以通过关键字参数来创建字典

    11.range():随机数,默认步长1

    12.callable():判断函数是否可调用

    13.issubclass():查看一个类是否是另一个的子类

    14.type():查询数据类型

    15.enumerate():返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char

    16.zip():从多个列表中,依次各取出一个元素,每次取出的(来自不同列表的)元素合成一个元组,合并成的元组放入zip()返回的列表中

    17.lambda:lambda x,y: x + y生成一个函数对象。该函数参数为x,y,返回值为x+y

    18.del:Python中保留的关键字,用于删除对象

    19.map():将函数对象依次作用于表的每一个元素,每次作用的结果储存于返回的表中。在Python 3.X中,map()的返回值是一个循环对象。可以利用list()函数,将该循环对象转换成表。

    20.filter():将作为参数的函数对象作用于多个元素,如果函数对象返回的是True,则该次的元素被储存于返回的表中。在Python 3.X中,filter返回的不是表,而是循环对象。

    21.reduce():累进地将函数作用于各个参数。reduce()函数在3.0里面不能直接用的,它被定义在了functools包里面,需要引入包

    22.iter(obj):如果传递一个参数给 iter() ,它会检查你传递的是不是一个序列,如果是,那么很简单: 根据索引从 0 一直迭代到序列结束。

       iter(func,sentinel) :如果是传递两个参数给 iter() ,它会重复地调用 func ,直到迭代器的下个值等于sentinel。

     

    序列内建函数:

    len(s)         返回: 序列中包含元素的个数

    min(s)         返回: 序列中最小的元素

    max(s)         返回: 序列中最大的元素

    all(s)         返回: True, 如果所有元素都为True的话

    any(s)         返回: True, 如果任一元素为True的话

    sum(s)         返回:序列中所有元素的和

       # x为元素值,i为下标(元素在序列中的位置)

    s.count(x)     返回: x在s中出现的次数

    s.index(x)     返回: x在s中第一次出现的下标

     

    内置函数清单:

    数学运算

    abs(-5)                          # 取绝对值,也就是5

    round(2.6)                       # 四舍五入取整,也就是3.0

    pow(2, 3)                        # 相当于2**3,如果是pow(2, 3, 5),相当于2**3 % 5

    cmp(2.3, 3.2)                    # 比较两个数的大小

    divmod(9,2)                      # 返回除法结果和余数

    max([1,5,2,9])                   # 求最大值

    min([9,2,-4,2])                  # 求最小值

    sum([2,-1,9,12])                 # 求和

    类型转换

    int("5")                         # 转换为整数 integer

    float(2)                         # 转换为浮点数 float

    long("23")                       # 转换为长整数 long integer

    str(2.3)                         # 转换为字符串 string

    complex(3, 9)                    # 返回复数 3 + 9i 

    ord("A")                         # "A"字符对应的数值

    chr(65)                          # 数值65对应的字符

    unichr(65)                       # 数值65对应的unicode字符 

    bool(0)                          # 转换为相应的真假值,在Python中,0相当于False

    在Python中,下列对象都相当于False: [], (), {}, 0, None, 0.0, '' 

    bin(56)                          # 返回一个字符串,表示56的二进制数

    hex(56)                          # 返回一个字符串,表示56的十六进制数

    oct(56)                          # 返回一个字符串,表示56的八进制数 

    list((1,2,3))                    # 转换为表 list

    tuple([2,3,4])                   # 转换为定值表 tuple

    slice(5,2,-1)                    # 构建下标对象 slice

    dict(a=1,b="hello",c=[1,2,3])    # 构建词典 dictionary

    序列操作

    all([True, 1, "hello!"])         # 是否所有的元素都相当于True值

    any(["", 0, False, [], None])    # 是否有任意一个元素相当于True值 

    sorted([1,5,3])                  # 返回正序的序列,也就是[1,3,5]

    reversed([1,5,3])                # 返回反序的序列,也就是[3,5,1]

    类,对象,属性

    hasattr(me, "test")               # 检查me对象是否有test属性

    getattr(me, "test")               # 返回test属性

    setattr(me, "test", new_test)     # 将test属性设置为new_test

    delattr(me, "test")               # 删除test属性

    isinstance(me, Me)                # me对象是否为Me类生成的对象 (一个instance)

    issubclass(Me, object)            # Me类是否为object类的子类

    编译,执行

    repr(me)                          # 返回对象的字符串表达

    compile("print('Hello')",'test.py','exec')       # 编译字符串成为code对象

    eval("1 + 1")                     # 解释字符串表达式。参数也可以是compile()返回的code对象

    exec("print('Hello')")            # 解释并执行字符串,print('Hello')。参数也可以是compile()返回的code对象

    其他

    input("Please input:")            # 等待输入 

    globals()                         # 返回全局命名空间,比如全局变量名,全局函数名

    locals()                          # 返回局部命名空间

     

    常用方法:

    1.append():在列表末尾追加新的对象

    2.count():统计某个元素在列表中出现的次数

    3.extend():在列表的末尾一次性追加另一个序列中的多个值

    4.index():从列表中找出某个值第一个匹配项的

    5.insert():将对象插入到列表中

    6.pop():移除列表中一个元素(默认是最后一个),并且返回该元素的值

    7.remove():移除列表中某个值的第一个匹配项

    8.reverse():将列表中的元素反向存放

    9.sort():在原位置对列表进行排序

    10.find():在一个较长的字符串中查找子字符串,它返回子串所在位置的最左端索引,如果没有找到则返回-1

    11.join():是split方法的逆方法,用来在队列中添加元素

    12.split():它是join的逆方法,用来将字符串分割成序列

    13.replace():返回某字符串的所有匹配项均被替换之后得到字符串

    14.lower():返回字符串的小写字母版

    15.strip():返回去除两侧(不包含内部)空格的字符串

    16.popitem():获取或删除字典中任意的键-值对

    17.dic.keys():返回dic所有的键

    18.dic.values():返回dic所有的值

    19.dic.items():返回dic所有的元素(键值对)

    20.dic.clear():清空dic,dict变为{}

    21.read(N):读取N bytes的数据

    22.readline():读取一行

    23.readlines():读取所有行,储存在列表中,每个元素是一行

    24.write():写入

    25.close():关闭文件

     

     

    列表方法:

    # l为一个表, l2为另一个表

    l.extend(l2)        在表l的末尾添加表l2的所有元素

    l.append(x)         在l的末尾附加x元素

    l.sort()            对l中的元素排序

    l.reverse()         将l中的元素逆序

    l.pop()             返回:表l的最后一个元素,并在表l中删除该元素

    del l[i]            删除该元素

     

    字符串方法:

    #str为一个字符串,sub为str的一个子字符串。s为一个序列,它的元素都是字符串。width为一个整数,用于说明新生成字符串的宽度。

    str.count(sub)       返回:sub在str中出现的次数

    str.find(sub)        返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1

    str.index(sub)       返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误

    str.rfind(sub)       返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1

    str.rindex(sub)      返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误

    str.isalnum()        返回:True, 如果所有的字符都是字母或数字

    str.isalpha()        返回:True,如果所有的字符都是字母

    str.isdigit()        返回:True,如果所有的字符都是数字

    str.istitle()        返回:True,如果所有的词的首字母都是大写

    str.isspace()        返回:True,如果所有的字符都是空格

    str.islower()        返回:True,如果所有的字符都是小写字母

    str.isupper()        返回:True,如果所有的字符都是大写字母 

    str.split([sep, [max]])    返回:从左开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.split(',')的方式使用逗号或者其它分割符

    str.rsplit([sep, [max]])   返回:从右开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.rsplit(',')的方式使用逗号或者其它分割符 

    str.join(s)                返回:将s中的元素,以str为分割符,合并成为一个字符串。

    str.strip([sub])           返回:去掉字符串开头和结尾的空格。也可以提供参数sub,去掉位于字符串开头和结尾的sub  

    str.replace(sub, new_sub)  返回:用一个新的字符串new_sub替换str中的sub         

    str.capitalize()           返回:将str第一个字母大写

    str.lower()                返回:将str全部字母改为小写

    str.upper()                返回:将str全部字母改为大写

    str.swapcase()             返回:将str大写字母改为小写,小写改为大写

    str.title()                返回:将str的每个词(以空格分隔)的首字母大写 

    str.center(width)          返回:长度为width的字符串,将原字符串放入该字符串中心,其它空余位置为空格。

    str.ljust(width)           返回:长度为width的字符串,将原字符串左对齐放入该字符串,其它空余位置为空格。

    str.rjust(width)           返回:长度为width的字符串,将原字符串右对齐放入该字符串,其它空余位置为空格。

     

     

    常用模块:

    1.math

      math.floor()   取整

      math.sqrt()   平方根

      

    注意:

    1.把一个变量声名为全局的,可以使用global语句

    2.只有在形参表末尾的那些参数可以有默认参数,如def func(a=5,b) 是无效的

    3.确保自己使用的是新式类,有以下方法:

      a.把这个赋值语句放在类模块代码的最前面 __metaclass__ = type(前面有提过)。

      b.自己的类都从内建类object直接或者间接地继承。

    4.任何定义了__enter__()和__exit__()方法的对象都可以用于上下文管理器,内置对象自动带有这两个特殊方法,不需要自定义

    5.模块文件夹中必须包含一个__init__.py的文件,提醒Python,该文件夹为一个模块包。__init__.py可以是一个空文件

    6.包裹传递的关键在于定义函数时,在相应元组或字典前加*或**

    7.生成器中可以有多个yield。当生成器遇到一个yield时,会暂停运行生成器,返回yield后面的值。当再次调用生成器的时候,会从刚才暂停的地方继续运行,直到下一个yield。

       生成器表达式(Generator Expression):G = (x for x in range(4))

    8.表推导(list comprehension)是快速生成表的方法,与生成器表达式类似,只不过用的是中括号

       L = [x**2 for x in range(10)]

    格式符

    格式符为真实值预留位置,并控制显示的格式。格式符可以包含有一个类型码,用以控制显示的类型,如下:

    %s    字符串 (采用str()的显示)

    %r    字符串 (采用repr()的显示)

    %c    单个字符

    %b    二进制整数

    %d    十进制整数

    %i    十进制整数

    %o    八进制整数

    %x    十六进制整数

    %e    指数 (基底写为e)

    %E    指数 (基底写为E)

    %f    浮点数

    %F    浮点数,与上相同

    %g    指数(e)或浮点数 (根据显示长度)

    %G    指数(E)或浮点数 (根据显示长度) 

    %%    字符"%"

    可以用如下的方式,对格式进行进一步的控制:

    %[(name)][flags][width].[precision]typecode

    (name)为命名

    flags可以有+,-,' '或0。+表示右对齐。-表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。0表示使用0填充。

    width表示显示宽度

    precision表示小数点后精度

  • 相关阅读:
    19. 星际争霸之php设计模式--迭代器模式
    18. 星际争霸之php设计模式--观察者模式
    17. 星际争霸之php设计模式--职责链模式
    16. 星际争霸之php设计模式--组合模式
    15. 星际争霸之php设计模式--策略模式
    14. 星际争霸之php设计模式--状态模式
    13. 星际争霸之php设计模式--正面模式
    12. 星际争霸之php设计模式--模板模式
    11. 星际争霸之php设计模式--备忘模式
    10. 星际争霸之php设计模式--原型模式
  • 原文地址:https://www.cnblogs.com/Nefeltari/p/5604529.html
Copyright © 2011-2022 走看看