文档章节

Python 标准库-内置函数

cuckoocs
 cuckoocs
发布于 2015/02/05 17:39
字数 1793
阅读 51
收藏 2

 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)


© 著作权归作者所有

共有 人打赏支持
cuckoocs

cuckoocs

粉丝 4
博文 10
码字总数 11635
作品 0
成都
程序员
私信 提问
python3测试工具开发快速入门教程2数据结构1变量与赋值

语法基础 解释器像简单的计算器:可以输入表达式,它会返回值。表达式语法很简单:运算符 + , - , * 和 / 与其它语言一样(例如Pascal或C);括号用于分组。例如: 整数(例如2、4、20 )的类型...

人工智能python自动化测试
08/30
0
0
黑马程序员分享:Python web开发中常用的标准库

在这些年的开发过程中,深有体会的一点就是,学习一门编程语言,除了要精通它的语法以外,更需要我们去学习该门语言的标准库。标准库是多年以来,大量开发人员留给我们的宝贵财富,它涵盖了编...

传智播客
2017/02/23
196
0
[雪峰磁针石博客]python3开发快速入门教程6模块

模块 退出Python解释器再重新进入,函数和变量等的定义都会丢失。 较大的程序使用文本编辑器编辑的文件作为执行输入更好,即创建脚本。 程序变很长时可将它分割成几个更易于维护的文件。你也...

书籍寻找
09/10
0
0
Python 3.5 正式发布,标准库禁用 SSLv3

Python 3.5 正式发布,此版本主要改进如下: 新语法特性 PEP 492, 异步协同和 await 语法 PEP 465, 新矩阵乘法运算符: a @ b. PEP 448, additional unpacking generalizations. 新库模块 ty...

oschina
2015/09/14
11.1K
48
Supporting Python 3(支持python3)——语言区别和暂时解决方法

语言区别和暂时解决方法 这个附录包含一个Python 2和Python 3的不同之处列表以及能不用2to3转换同时在Python 2和Python 3下运行的示例代码。 这个列表是不完整的。在这里列出的只有不包括bug...

在湖闻樟
2015/11/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

tomcat线程模型

Connector结构 BIO模式 NIO模式

grace_233
22分钟前
1
0
Javascript

变量定义 以$,_,字母开头 大小写敏感 var 关键字声明变量 声明未赋值undefined 数据类型 字符串,数字,布尔,数组,NULL,undefined 变量均为对象 函数 无默认值 var声明的是局部变量 函数外声明...

关元
24分钟前
1
0
文件系统、服务、防火墙、SELINUX——安全四大金刚

一提到安全,大家都会想到防火墙,和文件系统权限。而实际工作环境中,我们在Linux的安全配置,会涉及到四个级别。我们思考一个场景,你要在百度盘中存放一个文件,这个动作需要考虑下面四个...

Linux就该这么学
25分钟前
1
0
从源码角度理解Java设计模式——门面模式

一、门面模式介绍 门面模式定义:也叫外观模式,定义了一个访问子系统的接口,除了这个接口以外,不允许其他访问子系统的行为发生。 适用场景:子系统很复杂时,增加一个接口供外部访问。 优...

我叫刘半仙
35分钟前
2
0
新鲜出炉,2019最新大厂面试题总汇!

在这个互联网技术快速迭代的时代,每个程序员都知道技术对于职业发展的重要性,那些技术好的程序员不仅薪资高,而且大多数集中在一线互联网企业工作,让人感觉非常高大上的同时,也想去大厂做...

Java架构资源分享
44分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部