1.isinstance函数:除了以一个类型作为参数,还可以以一个类型元组作为参数。

isinstance(obj,basestring)===isinstance(obj,(str,unicode))

2.getattr函数:可以给一个默认值,以免触发错误。

write=getattr(obj,'write',sys.stdout.write)

3.type函数:即可以得到一个对象的类型,也可以直接由它创建一个新类型:

 >>> Point=type('Point',(object,),{'x':0,'y':0})
>>> p=Point()
>>> p.x,p.y
(0, 0)
>>> p=Point(3,8) Traceback (most recent call last):
File "<pyshell#55>", line 1, in <module>
p=Point(3,8)
TypeError: object() takes no parameters
>>> pprint.pprint(dir(Point))
['__class__',
'__delattr__',
'__dict__',
'__doc__',
'__format__',
'__getattribute__',
'__hash__',
'__init__',
'__module__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__setattr__',
'__sizeof__',
'__str__',
'__subclasshook__',
'__weakref__',
'x',
'y']
>>> p.name='source point'
>>> p.name
'source point'
>>> pprint.pprint(dir(p))
['__class__',
'__delattr__',
'__dict__',
'__doc__',
'__format__',
'__getattribute__',
'__hash__',
'__init__',
'__module__',
'__new__',
'__reduce__',
'__reduce_ex__',
'__repr__',
'__setattr__',
'__sizeof__',
'__str__',
'__subclasshook__',
'__weakref__',
'name',
'x',
'y']
>>> def tostr(self):
return '(%s,%s)'%(self.x,self.y) >>> Point.__str__=tostr
>>> print p
(0,0)
>>> def init(self,x,y):
self.x,self.y=x,y >>> Point.__init__=init
>>> p2=Point(6,8)
>>> print p2
(6,8)
>>>

4.issubclass(bool,int)==True

5.numbers.Number是所有数字类型的基类

6.type(None)==NoneType,None是一个常量

7.iter函数除了iter(object)形式,还有iter(callable,sentinel)也是返回一个iterator对象

 >>> def getrand():
import random
return random.randint(1,100) >>> for i in iter(getrand,50):print i,#获取第一次得到50之前的所有1-100的随机数 32 19 82 28 30 41 100 39 71 29 45 30 94 77 62 26 25 19 82 20 55 20 43 73
>>> for i in iter(getrand,50):print i,#获取第一次得到50之前的所有1-100的随机数 22 54 14 25 60 65 16 80 61 5 48 61 2 30 90 98 70 10 55 45 23 72 87 39 70 3 84 85
>>>

8.BaseException是一切exceptions的基类,Exception只是一切不exit的exceptions的基类

9.locals/globals/vars/dir:

[1]locals/globals很简单,是相对于当前作用域的本地/全局对象dict;

[2]vars()==locals(),vars(obj)==obj.__dict__

[3]没有参数,set(dir())==set(locals().keys());if hasattr(obj,'__dir__')=>dir(obj)==obj.__dir__();否则,如果obj是模块对象,dir(obj)返回的是模块的所有属性;如果obj是类对象,dir(obj)返回的是类的所有属性,然后是从基类继承来的属性;如果obj是实例对象,dir(obj)返回的是实例对象专有的属性、其所属类的属性、其所属类基类继承来的属性。【对类对象的任何修改,必将反映到其实例对象上;对基类的任何修改,也必将反映到派生类上。当然,属性遮蔽的情况除外。】

10.enumerate函数:enumerate(obj,[start]),如果定义了start,则序数将从start开始,而不是从默认的零开始。

>>> for i,name in enumerate(['C','C++','CSharp','Java','Python'],1):
print '%d.%s'%(i,name) 1.C
2.C++
3.CSharp
4.Java
5.Python
>>>

Python __builtins__模块拾穗的更多相关文章

  1. Python的模块引用和查找路径

    模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译型的语言,比如C#中 ...

  2. Python引用模块和查找模块路径

    模块间相互独立相互引用是任何一种编程语言的基础能力.对于"模块"这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义.对于编译 ...

  3. Day05 - Python 常用模块

    1. 模块简介 模块就是一个保存了 Python 代码的文件.模块能定义函数,类和变量.模块里也能包含可执行的代码. 模块也是 Python 对象,具有随机的名字属性用来绑定或引用. 下例是个简单的模 ...

  4. Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字

    想要快速的学会一个Python的模块和方法,两个函数必须要知道,那就是dir()和help() dir():能够快速的以集合的型式列出该模块下的所有内容(类.常量.方法)例: #--encoding: ...

  5. Python标准模块--importlib

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 模块简介 Python提供了importlib包作为标准库的一 ...

  6. 【转】Python标准模块--importlib

    [转]Python标准模块--importlib 作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 模块简介 P ...

  7. Python入门之Python引用模块和查找模块路径

    #这篇文章主要介绍了Python引用模块和Python查找模块路径的相关资料,需要的朋友可以参考下 模块间相互独立相互引用是任何一种编程语言的基础能力.对于“模块”这个词在各种编程语言中或许是不同的, ...

  8. 25 Python之模块与包

    一.模块   模块就是一个包含了python定义和申明的文件,文件名就是模块的名字加上.py的后缀/ 模块的分类:     1.使用python编写的py文件     2.已被编译位共享库或者DLL或 ...

  9. 一文搞懂 Python 的模块和包,在实战中的最佳实践

    最近公司有个项目,我需要写个小爬虫,将爬取到的数据进行统计分析.首先确定用 Python 写,其次不想用 Scrapy,因为要爬取的数据量和频率都不高,没必要上爬虫框架.于是,就自己搭了一个项目,通过 ...

随机推荐

  1. 【Alpha】Daily Scrum Meeting第三次

    本次随笔调换了展示顺序,把重要的内容放前面. 一.本次Daily Scrum Meeting主要内容 说明要完成alpha版本还需要哪些功能 对这些功能进行分析和实现方式的讨论 强调编码规范和变量命名 ...

  2. 【转】安装第三方库出现 Python version 2.7 required, which was not found in the registry

    安装第三方库出现 Python version 2.7 required, which was not found in the registry 建立一个文件 register.py 内容如下. 然 ...

  3. MySQL索引简述

    文章归属:http://feiyan.info/16.html,我想自己总结,但是发现此君总结的非常详细.直接搬过来了 关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼 ...

  4. ArcEngine 岛状多边形内部环的获取

    ArcEngine岛状多边形获取其内部环 查阅了帮助文档相关接口,内部环的获方法get_InteriorRingBag() 需要外部环作为参数.而外部环可以直接通过ExteriorRingBag属性获 ...

  5. python字符串前面加r

    在Python的string前面加上'r', 是为了告诉编译器这个string是个raw string,不要转意backslash '\' . 例如,\n 在raw string中,是两个字符,\和n ...

  6. 用Java实现简单的web服务器

    运行结果: 1.WebServer.java文件 package webserver; import java.io.*; import java.net.*; public class WebSer ...

  7. gong server

    宫 server   mac os 系统     vpn 202.39.176.66 funmobigtmvpn  密码 funmobi!@     安装 eclipse 安装mysql   1 配置 ...

  8. php多线程详解

    在说明多线程的题前,需要弄清楚以下几个问题 1,ts 和 nts的区别 Thread Safe和NoneThread Safe 先说windows的,在php官网,在windows区域有在文件下在有 ...

  9. Windows下用VMware安装Ubuntu虚拟机

    安装: http://jingyan.baidu.com/article/0320e2c1ef9f6c1b87507bf6.html 全屏: http://jingyan.baidu.com/arti ...

  10. js 中将日期转换为星期需要注意的

    new Date(strDate); 中strDate需要是1998/10/30这样的格式,如果是1998-10-30的格式,不一定旧版本的web能兼容