当先锋百科网

首页 1 2 3 4 5 6 7

常用内置功能

  1. 进制转换:bin()、oct()、hex()
        例如:
    Python基础类型总结------字符串与进制之间的转换
  2. 针对对象属性的相关操作:
setattr(objName, attrName, value) # 给对象objName设置属性attrName的值为value
hasattr(objName, attrName)        # 判断对象objName是否含有属性attrName,返回True或False
getattr(objName, attrName)        # 获取对象objName的属性attrName对应的的值
delattr(objName, attrName)        # 删除对象objName的属性attrName
  1. all() 与 any():
    区别:
    (1)all(iter):有一个不可迭代,则返回 False
    (2)any(iter):有一个可迭代,则返回 True
def all(iterable):
   for element in iterable:
       if not element:
           return False
   return True
def any(iterable):
   for element in iterable:
       if element:
           return True
   return False
  1. enumerate() 与 zip()
        例如: 内置函数enumerate和zip
  2. basestring()、bytearray()
(1) basestring():
这个抽象类型是超str和unicode。
它不能被调用或实例化,但它可以用来测试对象是否是 str 或 unicode 的实例。
isinstance(obj, basestring),相当于:isinstance(obj, (str, unicode))

(2)  bytearray([source [, encoding [, errors]]]):
返回一个byte数组。Bytearray类型是一个可变的序列,并且序列中的元素的取值范围为 [0 ,255]。
参数 source 说明:
如果source为整数,则返回一个长度为source的初始化数组;  例如:a = bytearray(3) 
如果source为字符串,则按照指定的encoding将字符串转换为字节序列; 例如:b = bytearray("abc")
如果source为可迭代类型,则元素必须为[0 ,255]中的整数; 例如: c = bytearray([1, 2, 3])
如果source为与buffer接口一致的对象,则此对象也可以被用于初始化bytearray.。例如:d = bytearray(buffer("abc"))
  1. bool()、str()、repr()、int()、chr(i)、unichr()、ord()、type()、float()、unicode()、long()、complex()
bool():int的子类,只有两种可能:True,False
str(): 转为适于人阅读的形式;
repr(): 转为供解释器读取的形式
int(x,base = 10):默认返回一个10进制数
chr(i):例如,chr(97)返回字符串'a'。【参数必须在[0..255]范围内】
unichr():例如,unichr(97)返回字符串u'a'。
ord(str):例如,ord('a')返回整数97,ord(u'\u2020')返回8224。
complex(real, imag):例如:complex(1, 2) 等价于:complex('1+2j')
  1. 容器:dict()、list()、set()、tuple()、 frozenset()、collections
  2. min()、max()
min(iterable [,key ] )
min(arg1,arg2,* args [,key ] )
返回可迭代中的最小项或两个或多个参数中的最小项。
如果提供了一个位置参数,则iterable必须是非空的可迭代(例如非空字符串,元组或列表)。返回iterable中的最小项。如果提供了两个或多个位置参数,则返回最小的位置参数。
可选的key参数指定一个单参数排序函数,就像用于list.sort() 的关键参数,如果提供的话,必须在关键字的形式(例如,min(a,b,c,key=func))。

max类似!
  1. sorted(iterable [,cmp [,key [,reverse ] ] ] )、reversed(seq)
默认排序结果:从小到大
从iterable中的项返回一个新的排序列表。
可选参数cmp,key和reverse具有与方法相同的含义list.sort()
cmp指定两个参数(可迭代元素)的自定义比较函数,它应返回负数,零或正数,具体取决于第一个参数是否被认为小于,等于或大于第二个参数:。默认值为。cmp=lambda x,y: cmp(x.lower(), y.lower())
key指定一个参数的函数,用于从每个列表元素中提取比较键:key=str.lower。默认值为None (直接比较元素)。
reverse是一个布尔值。如果设置为True,则对列表元素进行排序,就好像每个比较都已反转一样。
  1. filter()、map()、reduce()
    详情见: Python数据结构------函数式编程工具
  2. input()、raw_input()、format()
    详情见: Python输入、输出------格式化输出
  3. file()、open():
    建议使用:open(), 打开文件时,最好使用open()而不是直接调用此构造函数。 file更适合于类型测试(例如,写作)。isinstance(f, file)
    详情见: Python输入、输出------文件读写
  4. abs()、cmp()、divmod()、pow()、sum()、round()
abs(x ):返回数字的绝对值。参数可以是普通或长整数或浮点数。如果参数是复数,则返回其大小。
cmp(x,y ):比较两个对象x和y并根据结果返回一个整数。【-1、0、1】
sum(iterable [,start ] ):从左到右开始和迭代的项目并返回总数。 开始默认为0。该迭代的项目通常是数字,起始值不允许是一个字符串。
连接字符串序列的首选快速方法是调用 ''.join(sequence)。
round(number[,ndigits ] ):返回浮点值数四舍五入到ndigits小数点后的数字。如果省略ndigits,则默认为零。结果是一个浮点数。将值四舍五入为函数减去ndigits的最接近的10的倍数 ; 如果两个倍数相等,则舍入远离0(因此,例如,round(0.5)是1.0和 round(-0.5)是-1.0)。

注意 round()浮动的行为可能会令人惊讶:例如, 给出而不是预期的行为。这不是一个错误:这是因为大多数小数部分不能完全表示为浮点数。有关详细信息,请参阅浮点算术:问题和限制。round(2.675, 2)2.672.68
  1. xrange()、range()、len()、slice()
range(stop)
range(start, stop[, step]),返回列表

xrange(stop)
xrange(start, stop[, step]),返回xrange对象 而不是列表。
这是一个不透明的序列类型,它产生与相应列表相同的值,而不是实际同时存储它们。
xrange()旨在简单快速。实现可能会对此实施限制。

slice(stop)
slice(start, stop[, step]),返回表示由指定的索引集的切片对象 。
  1. iter()、next()、hash()、id()
hash(obj):返回对象的哈希值(如果有的话)。哈希值是整数。它们用于在字典查找期间快速比较字典键。比较相等的数字值具有相同的哈希值(即使它们具有不同的类型,如1和1.0的情况)。
iter():返回一个迭代器对象
id(obj):返回对象的“身份”。这是一个整数(或长整数),保证在该生命周期内该对象是唯一且恒定的。具有非重叠寿命的两个对象可以具有相同的id() 值。
CPython实现细节:这是内存中对象的地址。
  1. help()、dir()
  2. isinstance() 、issubclass()、super()
isinstance(obj,classinfo ):如果obj是classinfo参数的实例,或者是(直接,间接或虚拟)子类的实例,则返回true

issubclass(class,classinfo )
如果class是classinfo的子类(直接,间接或虚拟),则返回true 。类被认为是其自身的子类。

super(type[,object-or-type ] )
返回将方法调用委托给父类或兄弟类类型的代理对象。这对于访问已在类中重写的继承方法很有用。
super有两个典型的用例:
(1)在具有单继承的类层次结构中,super可用于引用父类而不显式命名它们,从而使代码更易于维护。
(2)在动态执行环境中支持协作多重继承。
  1. callable(obj): 返回True或False,对象是否可以被调用
  2. classmethod(function):返回函数的类方法。
    类方法接收类作为隐式的第一个参数,就像实例方法接收实例一样。要声明一个类方法,请使用此习语:
class C(object):
    @classmethod
    def f(cls, arg1, arg2, ...):
        ...
        
该@classmethod形式是一个函数装饰 -见的功能定义描述函数定义的细节。
它可以在类(例如C.f())或实例(例如C().f())上调用。除了类之外,该实例被忽略。如果为派生类调用类方法,则派生类对象将作为隐含的第一个参数传递。
  1. staticmethod(function):返回一个静态的函数方法。
    静态方法不会接收隐式的第一个参数。要声明静态方法,请使用此惯用法:
class C(object):
    @staticmethod
    def f(arg1, arg2, ...):
        ...
该@staticmethod形式是一个函数装饰 -见的功能定义描述函数定义的细节。
它可以在类(例如C.f())或实例(例如C().f())上调用。除了类之外,该实例被忽略。
  1. compile(source,filename,mode [,flags [,dont_inherit ] ] ):将源代码编译为代码或AST对象。
  2. eval(表达式[,globals [,locals ] ] )、execfile(filename [,globals [,locals ] ] )
  3. globals() 、locals()
    (1)globals():返回表示当前全局符号表的字典。这始终是当前模块的字典(在函数或方法内部,这是定义它的模块,而不是调用它的模块)。
    (2)locals():更新并返回表示当前本地符号表的字典。自由变量locals()在函数块中调用时返回,但不在类块中调用。【vars() 类似】
    注意: 不应修改此词典的内容; 更改可能不会影响解释器使用的本地和自由变量的值。
  4. reload(module):重新加载以前导入的模块。参数必须是模块对象,因此必须先成功导入。
  5. memoryview(obj ):返回从给定参数创建的“内存视图”对象。
  6. 类object:返回一个新的无特征对象。 object是所有新风格类的基础。它具有新样式类的所有实例共有的方法。
  7. print()、property()
  8. __import__()
    

非必要的内置函数

有几个内置函数不再是现代Python编程中学习,知道或使用的必要条件。它们一直保留在这里,以保持与为旧版本Python编写的程序的向后兼容性。

  1. apply(function,args [,keywords ] )
  2. buffer(object [,offset [,size ] ] )
  3. coerce(x,y ):使用与算术运算相同的规则,返回由转换为公共类型的两个数字参数组成的元组。
  4. intern(字符串)