关闭

Python工厂函数和内建函数

标签: 工厂模式内建函数
287人阅读 评论(0) 收藏 举报
分类:

所谓工厂函数就是指这些内建函数都是类对象, 当你调用它们时,实际上是创建了一个类实例。

工厂函数:
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(‘\n’)) 按照行分隔,返回一个包含各行作为元素的列表,如果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 == 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(),

     会返回这个对象的哈希值。只有这个对象是可哈希的,才可作为字典的键 (函数的返回值是整数,不产生错误或异常)。
0
0
查看评论

工厂函数

因为shared_ptr的构造需要new的调用,而用户往往会忽略delete的调用,从而引起重大错误。因此共享指针提供了工厂函数来包装new并消除显式的delete调用。#include#include#includeusing namespace std;using namespace boost...
  • lw_ding
  • lw_ding
  • 2018-01-18 19:57
  • 16

python中的工厂函数

工厂函数:一个能够记住嵌套作用域的变量值的函数,尽管那个作用域已经不存在了。>>> def maker(N): def action(X): return X**N return action这定义了一个外部函数,这个函数简单地生成并且返回了一个嵌套...
  • zhongjiezheng
  • zhongjiezheng
  • 2015-04-30 22:28
  • 2583

python(第一天): 工厂函数

今天在学习python时看到了一段代码甚是震惊. 大家都说python 是一门动态语言,刚开始我还没有很深刻的认识到什么叫动态语言,但是看到这段代码后终于明白了,废话不多说,上代码: def maker(N): def action(X): return X ** N ...
  • qbw2010
  • qbw2010
  • 2015-04-27 19:37
  • 996

工厂方法和工厂函数

工厂方法(Factory Method)模式又称为虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,属于类的创建型模式。在工厂方法模式中,父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,这样做的目的是将类的实例化操作延迟到...
  • wangkun__
  • wangkun__
  • 2016-09-14 14:29
  • 2769

Python中的工厂函数

参考了很多代码、别人的文章以及书籍,最后自己做了适合自己理解的一种理解总结方式。        很多人说,工厂函数看上去像函数,其实是类。我觉得这种方法有些牵强,虽说在OOP中Python有其自己对类以及对象的定义。在一定程度上这么说是可...
  • grey_csdn
  • grey_csdn
  • 2017-07-04 01:19
  • 407

【Python】工厂函数

Python2.2统一了类型和类,所有的内建类型现在也都是类,在这基础之上,原来的所谓内建转换函数比如int()、type()、list()等,现在都成了工厂函数。也就是说虽然他们看上去有点像函数,实质上他们是类。     下面这些大家熟悉的工厂函数在之前的Pytho...
  • michellechouu
  • michellechouu
  • 2014-05-24 14:30
  • 495

python的内建函数与工厂函数

1、数字类型函数 转换工厂函数 int()、long()(python3中已被取消)、float()、complex()、bool():用来将其他数值类型转换为相应的数值类型。 功能函数 abs():返回给定参数的绝对值 coerce()(python3中已被其取消):仅返回一个包含类型转...
  • ag128333
  • ag128333
  • 2011-12-04 11:27
  • 1978

Python工厂函数和内建函数

所谓工厂函数就是指这些内建函数都是类对象, 当你调用它们时,实际上是创建了一个类实例。工厂函数: int(),long(),float(),complex(),bool() str(),unicode(),basestring() list(),tuple():生成列表或者元组 type()...
  • zhangfh1990
  • zhangfh1990
  • 2017-08-28 10:50
  • 287

Python Flask 6.0.1 工厂函数

欢迎访问地平线上的一匹狼-Python Flask 6.0.1开始大型网站架构的时候,有很多概念晦涩难懂,其中就有这个工厂函数.以下是来自别人的博客:
  • qq_32588507
  • qq_32588507
  • 2017-10-15 12:39
  • 162

Python映射类型内建函数与工厂函数操作实例源代码

#coding=utf-8 ''' type():返回字典类型 str():返回字典的字符串表示形式 cmp():比较函数。 cmp用于字典比较顺序是:字典的大小-->字典键------->字典值。 cmp()做字典的比较一般不是很有用。 len(mapping...
  • henni_719
  • henni_719
  • 2017-05-03 09:33
  • 221
    个人资料
    • 访问:9560次
    • 积分:359
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:5篇
    • 译文:14篇
    • 评论:3条