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()
#这个抽象类型是str和unicode的超类。它不能被称为或实例化,但它可以用来测试一个对象是否str的实例或者unicode。isinstance(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)