文档章节

Python 标准库-内置函数

cuckoocs
 cuckoocs
发布于 2015/02/05 17:39
字数 1793
阅读 45
收藏 2
点赞 0
评论 0

 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
粉丝 3
博文 11
码字总数 11710
作品 0
成都
程序员
Supporting Python 3(支持python3)——语言区别和暂时解决方法

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

在湖闻樟
2015/11/20
0
0
zg手册 之 python2.7.7源码分析(1)-- python中的对象

源代码主要目录结构 Demo: python 的示例程序 Doc: 文档 Grammar: 用BNF的语法定义了Python的全部语法,提供给解析器使用 Include: 头文件,在用c/c++编写扩展模块时使用 Lib: Python自...

东昕
2014/07/08
0
0
Python 2 和 Python 3 有哪些主要区别?

语法 print不再是语句,而是函数,比如原来是 print 'abc' 现在是 print('abc') 但是 python2.6+ 可以使用 from future import print_function 来实现相同功能 在Python 3中,没有旧式类,只...

cooffeelis
03/05
0
0
Python 3.7.0 来了!

【新智元导读】Python官网静悄悄地发布了一条大消息:正式发布 Python 3.7.0!同时发布的还有Python 3.6.6稳定版。官网刚刚更新了可下载文档,还在用Python 2.7和Python3.5的你,赶紧用起来!...

技术小能手
07/09
0
0
Python 3.7 正式版发布,大量新特性和优化来袭

Python 3.7 已正式发布,同时发布的还有 3.6.6 , 具体详情可分别查阅更新说明: 3.7:https://www.python.org/downloads/release/python-370/ 3.6.6:https://www.python.org/downloads/rele......

比特客
06/28
0
22
转-深入探讨Ruby与Python语法比较

自:http://developer.51cto.com/art/200912/169306.htm 1. Ruby的case可以匹配很多东西:范围/数组,对象,正则表达,python没有case/switch而使用if/else比较死板点 2. python的缩进很漂亮...

玉龙
2011/10/12
0
0
Python常见经典 python中if __name__ == '__main__': 的解析

http://www.cnblogs.com/zhouxiansheng/p/3929247.html python中if name == 'main': 的解析 当你打开一个.py文件时,经常会在代码的最下面看到if name == 'main':,现在就来介 绍一下它的作用....

搬砖小哥
2017/11/02
0
0
《Python3.6官方文档》– 第一章

1. 开胃小菜 如果你有许多在电脑上的工作要做,并发现其中的任务一些是可以自动化的。 例如,你可能希望执行一个能够搜索并替换大量的文本文件程序,或者是有需要以一种复杂的方式去重命名和...

jowu
01/25
0
0
《Head First Python》笔记 第八章 移动应用开发

感觉做的笔记得经常看经常改,否则一会就忘了,记忆力真差啊...,代码直接下源码查看 比较神奇的是,运行这两章的程序都没遇到什么问题,感觉初学一个东西的时候总会遇到这样那样的问题... 8...

豆仔
2013/04/06
0
0
更深入的理解 Python 中的迭代

深入探讨 Python 的 循环来看看它们在底层如何工作,以及为什么它们会按照它们的方式工作。 Python 的 循环不会像其他语言中的 循环那样工作。在这篇文章中,我们将深入探讨 Python 的 循环来...

01%
05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
2
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
3
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
1
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
1
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部