• (转)论python工厂函数与内建函数


    所谓工厂函数就是指这些内建函数都是类对象, 当你调用它们时,实际上是创建了一个类实例。
     
    工厂函数:
    int(),long(),float(),complex(),bool()
    str(),unicode(),basestring()
    list(),tuple():生成列表或者元组
    type():查看类型
    dict():生成一个字典
    set():   生产可变集合
    frozenset():生成不可变集合
    object()
    classmethod():声明一个类方法
    staticmethod():声明一个静态方法
    super():     指此类的父类
    property()
    file()
     
     
    数字类型内建函数:
    功能内建函数:
    应用于所有数值类型的内建函数abs(), coerce(), divmod(), pow()和 round(),
    仅适用于整数的内建函数:这种函数分两类:
    一类用于进制转换:oct()八进制转换,hex()十六进制转换。
    >>> hex(255)
    '0xff'
    >>> oct(255)
    '0377'
    >>> oct(23094823l)
    '0130063047L'
    >>> oct(65535*2)
    '0377776'
    一类用于ASCII 转换:。每个字符对应一个唯一的整数(0-255)。
    chr(num)        将ASCII值的数字转换成ASCII字符,范围只能是0<= num <= 255。
    ord(chr)        接受一个 ASCII 或 Unicode字符(长度为1的字符串),返回相应的ASCII或Unicode 值。
    unichr(num)     接受Unicode码值,返回其对应的Unicode字符。所接受的码值范围依赖于你的Python是构建于UCS‐2还是UCS‐4。
     
    >>> ord('a')
    97
    >>> ord('A')
    65
    >>> ord('0')
    48
     
     
     
    字符串内建函数
    方法描述
    string.capitalize()                         把字符串的第一个字符大写
     
    string.center(width)                        返回一个原字符串居中,并使用空格填充至长度width 的新字符串
     
    string.count(str, beg=0,end=len(string))    返回str在string 里面出现的次数,如果beg 或者end 指定则返回指定范围内str出现的次数
     
    string.decode(encoding='UTF- 8',errors='strict') 以encoding 指定的编码格式解码string,如果出错默认报一个ValueError的异常, 除非errors 指定的是'ignore'或者'replace'
     
    string.encode(encoding='UTF- 8',errors='strict') 以encoding 指定的编码格式编码string,如果出错默认报一个ValueError的异常,除非 errors 指定的是'ignore'或者'replace'
     
    string.endswith(obj, beg=0,end=len(string))     检查字符串是否以obj 结束,如果beg 或者end指定则检查指定的范围内是否以obj 结束, 如果是,返回True,否则返回False.
     
    string.expandtabs(tabsize=8)                 把字符串string中的tab 符号转为空格,默认的空格数tabsize 是8.
     
    string.find(str, beg=0,end=len(string))        检测str是否包含在string 中,如果beg 和end 指定范围,则检查是否包含在指定范围内,                                        如果是返回开始的索引值,否则返回-1
    string.index(str, beg=0,end=len(string))      跟find()方法一样,只不过如果str 不在string 中会报一个异常.
     
    string.isalnum()                           如果string至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
     
    string.isalpha()                           如果string至少有一个字符并且所有字符都是字母则返回True,否则返回False
     
    string.isdecimal()                             如果string只包含十进制数字则返回True 否则返回False.
     
    string.isdigit()                            如果string 只包含数字则返回True否则返回False.
     
    string.islower()                           如果string中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False
     
    string.isnumeric()                         如果string 中只包含数字字符,则返回True,否则返回False
     
    string.isspace()                          如果string 中只包含空格,则返回True,否则返回False.
     
    string.istitle()                          如果string 是标题化的(见title())则返回True,否则返回False
     
    string.isupper()                          如果string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False
     
    string.join(seq) Merges (concatenates)        以string作为分隔符,将seq 中所有的元素(的字符串表示)合并为一个新的字符串
     
    string.ljust(width)                       返回一个原字符串左对齐,并使用空格填充至长度width 的新字符串
     
    string.lower()                            转换string 中所有大写字符为小写.
     
    string.lstrip()                           截掉string 左边的空格
     
    string.partition(str)                    有点像find()和split()的结合体,从str 出现的第一个位置起,把字符串string分成一个3 元素的元组(string_pre_str,str,string_post_str),如果string 中不包含str则string_pre_str ==string.
     
    string.replace(str1, str2,num=string.count(str1))   把string 中的str1 替换成str2,如果num指定,则替换不超过num 次.
     
    string.rfind(str, beg=0,end=len(string))            类似于find()函数,不过是从右边开始查找.
     
    string.rindex( str, beg=0,end=len(string))          类似于index(),不过是从右边开始.
     
    string.rjust(width)                              返回一个原字符串右对齐,并使用空格填充至长度width 的新字符串
     
    string.rpartition(str)                           类似于partition()函数,不过是从右边开始查找.
     
    string.rstrip()                                   删除string字符串末尾的空格.
     
    string.split(str="", num=string.count(str))            以str为分隔符切片string,如果num有指定值,则仅分隔num 个子字符串
     
    string.splitlines(num=string.count(' '))             按照行分隔,返回一个包含各行作为元素的列表,如果num 指定则仅切片num 个行.
     
    string.startswith(obj, beg=0,end=len(string))             检查字符串是否是以obj开头,是则返回True,否则返回False。如果beg 和             end 指定值,则在指定范围内检查
     
    string.strip([obj])                                   在string上执行lstrip()和rstrip()
     
    string.swapcase()                                     翻转string 中的大小写
     
    string.title()                                    返回"标题化"的string,就是说所有单词都是以大写开始,其余字母均为小写(见istitle())
     
    string.translate(str, del="")                   根据str 给出的表(包含256 个字符)转换string 的字符,要过滤掉的字符放到del参数中
     
    string.upper()                                转换string 中的小写字母为大写
    string.zfill(width)                           返回长度为width 的字符串,原字符串string右对齐,前面填充0
     
    列表类型内建函数:
    List Method Operation
    list.append(obj) 向列表中添加一个对象obj
    list.count(obj) 返回一个对象obj 在列表中出现的次数
    list.extend(seq)a 把序列seq 的内容添加到列表中
    list.index(obj, i=0,
    j=len(list)) 返回list [k] == obj 的k 值,并且k 的范围在 i<=k
    引发ValueError 异常.
    list.insert(index, obj) 在索引量为index 的位置插入对象obj.
    list.pop(index=-1)a 删除并返回指定位置的对象,默认是最后一个对象
    list.remove(obj) 从列表中删除对象obj
    list.reverse() 原地翻转列表
    list.sort(func=None,key=None,reverse=False)b以指定的方式排序列表中的成员,如果func 和key 参数指定,
    则按照指定的方式比较各个元素,如果reverse 标志被置为
    True,则列表以反序排列.
     
    元组没有内建函数。
     
    映射类型内建函数:
    cmp():     字典的比较,先比较长度,在比较键,在比较字典的值
    len():。   对字典调用len(),它会返回所有元素(键-值对)的数目:
    hash():   内建函数hash()本身并不是为字典设计的方法,但它可以判断某个对象是否可以做一个字典的键。将一个对象作为参数传递给hash(),  
     
             会返回这个对象的哈希值。只有这个对象是可哈希的,才可作为字典的键 (函数的返回值是整数,不产生错误或异常)。
  • 相关阅读:
    csu 1141 节能
    WA:ZOJ 1025 Wooden Sticks
    UVa 531 Compromise
    UVa 437 The Tower of Babylon
    UVa 10285 Longest Run on a Snowboard
    在asp.net使用web.config身份验证
    掌握 Ajax,第 6 部分: 建立基于 DOM 的 Web 应用程序
    面向对象编程思想
    一步一步学Remoting之五:异步操作
    Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)
  • 原文地址:https://www.cnblogs.com/hu-yewen/p/5641567.html
Copyright © 2020-2023  润新知