Python 标准库-内置函数

 evernote 原文链接:https://app.yinxiang.com/l/AAdc0kuo_VpIYK_oM4dyF1fPD4b6WpJXTt0

#!/usr/bin/env python
# -*- encoding: utf-8 -*-

'''
Created on 2015年2月5日

@author : cuckoocs
'''

'''
Python 内置函数:

abs()            divmod()          input()            open()            staticmethod()
all()            enumerate()       int()              ord()             str()
any()            eval()            isinstance()       pow()             sum()
basestring()     execfile()        issubclass()       print()           super()
bin()            file()            iter()             property()        tuple()
bool()           filter()          len()              range()           type()
bytearray()      float()           list()             raw_input()       unichr()
callable()       format()          locals()           reduce()          unicode()
chr()            frozenset()       long()             reload()          vars()
classmethod()    getattr()         map()              repr()            xrange()
cmp()            globals()         max()              reversed()        zip()
compile()        hasattr()         memoryview()       round()           __import__()
complex()        hash()            min()              set()             apply()
delattr()        help()            next()             setattr()         buffer()
dict()           hex()             object()           slice()           coerce()
dir()            id()              oct()              sorted()          intern()
'''

#abs(x)
#返回 x 的绝对值

#all(iterable)
#如果iterable中所有项都为True 则返回 True, 否则返回 False

#any(iterable)
#如果iterable中任意一项为 True, 则返回 True, 否则返回 False

#basestring()
#这个抽象类型是strunicode的超类。它不能被称为或实例化,但它可以用来测试一个对象是否str的实例或者unicodeisinstance(obj basestring)相当于isinstance(obj,(str,unicode))

#bin(x)
#将一个整数数字转换成一个二进制字符串, x 必须是一个integer
print bin(-9)

#bool([x])
#如果x是假的或者忽略,这返回false;否则将返回True.bool 也是一个类,是 int 的子类
print bool()    #False
print bool(0)   #False
print bool(1)   #True
print bool([0,1])#True

#bytearray([source[, encoding[, errors]]])
#返回一个新的数组的字节数,
print bytearray(u'如果iterable中任意一项为 True0x\00000', 'utf-8')

#callable(object)
#如果对象是可以调用的,则返回True,否则返回 False(对象和方法是可以调用)
print callable(12#False

#chr(i)
#返回i ASCII代码整数对应的字符。最大不能超过256,相对应的时 unichr() 方法

#unichr(i)
#同 chr 方法一样,但是返回的是 Unicode 字符
print type(chr(97))     #<type 'str'>
print  type(unichr(97)) #<type 'unicode'>

#classmethod(function)
#返回一个类方法
class c():
   
def cf(self, arg):
       
print 'class method'
    classm = classmethod(cf)
   
   
def __repr__(self, *args, **kwargs):
       
return '[1,2]'
   
   
def __dir__(self):
       
print 'dir ________'
c.classm(
'arg')

#cmp(x, y)
#比较两个对象的x和y,并返回一个整数表示结果
print cmp(1,2)      #-1
print cmp(1,1)      #0
print cmp('z','r'#1

#compile(source, filename, mode[, flags[, dont_inherit]])
#编译 source,mode=['single','exec','eval']

#complex([real[, imag]])
#返回一个复数real + imag*j值或字符串或数字转换为复数;(ValueError)
print complex(1,2#(1+2j)
print complex('12+0j') #(12+0j)
#complex('12 + 0j') raise ValueError

#delattr(object, name)
#删除object 对象的属性

#class dict(**kwarg)           
#class dict(mapping, **kwarg)
#class dict(iterable, **kwarg)
#返回一个字典对象

#dir([object])
#查看object 的属性,如果没有传递则是当前环境的 attr
print dir()
print dir(c)    #['__dir__', '__doc__', '__module__', 'cf', 'classm']


#divmod(a, b)
#和(a // b, a % b)返回一样

#enumerate(sequence, start=0)
seasons = [
'Spring', 'Summer', 'Fall', 'Winter']
print list(enumerate(seasons))          #[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
print list(enumerate(seasons, start = 19))  #[(19, 'Spring'), (20, 'Summer'), (21, 'Fall'), (22, 'Winter')]
'''
enumerate的实现代码
def enumerate(sequence, start=0):
    n = start
    for elem in sequence:
        yield n, elem
        n += 1
'''

#eval(expression[, globals[, locals]])   
#可以执行expression代码
print eval('seasons.append("FF")')
print seasons       #['Spring', 'Summer', 'Fall', 'Winter', 'FF'],增加了FF

#execfile(filename[, globals[, locals]])
#和 exec 方法类似,但是读取的文件,和 import 不一样,不会创建 model

#file(name[, mode[, buffering]])
#file 对象的构造方法,返回一个 file 对象,最好使用 open,file 更多用作对象检测isinstance(f, file)

#filter(function, iterable)
#过滤一个 iterable对象,按照 function 的规则, function 需要返回一个 True 对象才会加入到新的iterable中
def filfunc(arg):
   
return arg > 'G'
print filter(filfunc, seasons) #['Spring', 'Summer', 'Winter']
print [item for item in seasons if item > 'G'] #['Spring', 'Summer', 'Winter']


#format(value[, format_spec])   
#格式化 value 的值
print format(3.14, '0=10')

#getattr(object, name[, default])
#返回一个对象的属性,可以有默认值,没有默认值也不存在值时会报错

#globals()
#返回一个表示当前全局符号表字典
print globals() #{'c': <class __main__.c at 0x1007b1bb0>, '__builtins__': <module '__builtin__' (built-in)>, '__file__': '/Users/monstar-216/workspace/PythonReferenceManual/The_Python_Standard_Library/BuiltinFunctions.py', '__package__': None, 'filfunc': <function filfunc at 0x1007d2c80>, 'item': 'FF', 'seasons': ['Spring', 'Summer', 'Fall', 'Winter', 'FF'], '__name__': '__main__', '__doc__': '\nCreated on 2015\xe5\xb9\xb42\xe6\x9c\x885\xe6\x97\xa5\n\n@author : cuckoocs\n'}

#hasattr(object, name)
#如果对象有属性则返回 True, 否则返回 False,没有不会报错
print hasattr(c(), 'classm')    #True

#hash(object)   
#返回对象的散列值
print hash(c())

#hex(x)
#返回 x 的16进制
print hex(256)

#id(object)
#返回对象的 id
print id(c())

#input([prompt])
#等同于eval(raw_input(prompt)).

#isinstance(object, classinfo)
#检测object 是否是classinfo的一个实例,可以检测继承对象
print isinstance(c(), str)  #True

#issubclass(class, classinfo)
#检测 class 是否是classinfo的派生类
print issubclass(c, str)    #True

#iter(o[, sentinel])
#返回 o 的迭代对象,直到后面的迭代中遇到sentinel停止迭代

#locals()
#更新并返回一个词典代表当前本地符号的字典
print locals()  #{'c': <class '__main__.c'>, '__builtins__': <module '__builtin__' (built-in)>, '__file__': '/Users/monstar-216/workspace/PythonReferenceManual/The_Python_Standard_Library/BuiltinFunctions.py', '__package__': None, 'filfunc': <function filfunc at 0x10ec77c80>, 'item': 'FF', 'seasons': ['Spring', 'Summer', 'Fall', 'Winter', 'FF'], '__name__': '__main__', '__doc__': '\nCreated on 2015\xe5\xb9\xb42\xe6\x9c\x885\xe6\x97\xa5\n\n@author : cuckoocs\n'}

#map(function, iterable, ...)
#返回把函数对象function作为函数,iterable对象的每一项作为参数,然后进行计算后输出迭代子iterator
print map(lambda x, y: 2*x+y, range(10), range(10)) #[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]多个iterable对象长度需要相同

#max(iterable[, key]),min(iterable[, key])
#求最大,最小值

#memoryview(obj)
#返回给定 obj 的内存地址
print memoryview('hhhmmam')   #<memory at 0x101d53d60>

#next(iterator[, default])
#获取 iterator 的下一个迭代
def ite():
    start =
0
   
while start < 10:
       
yield start
        start +=
1
it = ite()
print next(it)  #0
print next(it)  #1
del it

#oct(x)
#返回x 的八进制格式字符串
print oct(89)   #0131

#open(name[, mode[, buffering]])
#打开一个文件,返回一个对象的部分中描述的文件类型文件对象,mode 文件打开方式

#ord(c)
#给定一个长度为1的字符串,返回一个整数代表字符的Unicode代码点的参数是一个Unicode对象,或字节的值,当参数是一个8位字符串.和 chr()和 unichr() 函数相对应.
print ord('7'#55

#pow(x, y[, z])
#求平方,如果z 不为空等价与[pow(x, y) % z]
print pow(2,3,4)    #0

#range(stop) range(start, stop[, step])
#返回一个序列,step 不能为0
print range(1,11,2) #[1, 3, 5, 7, 9]

#raw_input([prompt])
#从控制台读入内容,prompt为提示符

#reduce(function, iterable[, initializer]) ??

#reload(module)
#重新加载一个模块

#repr(object)
c1 = eval(repr(c()))
print c1            #[1, 2]
print repr(c())     #[1,2]

#reversed(seq)
#反转 seq 序列

#round(number[, ndigits])
#四舍五入,ndigits代表小数点的位数
print round(0.675,2)    #0.68
print round(-0.45,1)    #-0.5

#class slice(stop) class slice(start, stop[, step]) ??
print slice(1,10)       #slice(1, 10, None)

#sorted(iterable[, cmp[, key[, reverse]]])
#对iterable排序重新返回一个iterable

#staticmethod(function)
#创建并返回一个静态方法,参考 classmethod

#sum(iterable[, start])
#对给定iterable求和,如果有 start 则从 start 开始加
print sum(range(10), 100)   #145

#super(type[, object-or-type])
#返回 type 的父类型
print super(type(c()))    #<super: <class 'classobj'>, NULL>

#class type(object) class type(name, bases, dict)

#unicode(object='') unicode(object[, encoding[, errors]])
print unicode('Created on 2015\xe5\xb9\xb42\xe6\x9c\x885\xe6\x97\xa5', 'utf-8')
print unicode('\u5bf9\u7ed9\u5b9a\u0069\u0074\u0065\u0072\u0061\u0062\u006c\u0065\u6c42\u548c').decode('gbk')

#vars([object])   
#返回__dict__属性模块、类实例,或任何其他对象__dict__属性
print vars()

#xrange(stop) xrange(start, stop[, step])
#同 range,xrange 更省内存
print [x for x in xrange(10)]   #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

#zip([iterable, ...])
#zip压缩成一个 list, 带'*'为解压缩 list
x,y = zip(*[(
1, 4), (2, 5), (3, 6)])
print x,y           #(1, 2, 3) (4, 5, 6)


你可能感兴趣的:(python,内置函数,标准库)