Python的__builtin__模块中的一些要点知识


Posted in Python onMay 02, 2015

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

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

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

writte=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 相关文章推荐
Python 初始化多维数组代码
Sep 06 Python
Python使用百度API上传文件到百度网盘代码分享
Nov 08 Python
Python简单删除目录下文件以及文件夹的方法
May 27 Python
windows 下python+numpy安装实用教程
Dec 23 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
Jan 05 Python
python的re正则表达式实例代码
Jan 24 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
Django如何将URL映射到视图
Jul 29 Python
Python Gitlab Api 使用方法
Aug 28 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
python实现逻辑回归的示例
Oct 09 Python
微信小程序调用python模型
Apr 21 Python
一些Python中的二维数组的操作方法
May 02 #Python
在Python的Tornado框架中实现简单的在线代理的教程
May 02 #Python
探究Python的Tornado框架对子域名和泛域名的支持
May 02 #Python
Python编程中运用闭包时所需要注意的一些地方
May 02 #Python
按日期打印Python的Tornado框架中的日志的方法
May 02 #Python
详细解读Python的web.py框架下的application.py模块
May 02 #Python
使用Python的web.py框架实现类似Django的ORM查询的教程
May 02 #Python
You might like
php中获得视频时间总长度的另一种方法
2011/09/15 PHP
PHP连接MongoDB示例代码
2012/09/06 PHP
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
PHP解决URL中文GBK乱码问题的两种方法
2014/06/03 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
2017/11/03 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
Javascript中找到子元素在父元素内相对位置的代码
2012/07/21 Javascript
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
JS验证邮箱格式是否正确的代码
2013/12/05 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
从0到1构建vueSSR项目之node以及vue-cli3的配置
2019/03/07 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
python读取Android permission文件
2013/11/01 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Django自定义分页与bootstrap分页结合
2021/02/22 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
Python cookbook(数据结构与算法)从字典中提取子集的方法示例
2018/03/22 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
django序列化serializers过程解析
2019/12/14 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
What is EJB
2016/07/22 面试题
禁止酒驾标语
2014/06/25 职场文书
局领导领导班子四风对照检查材料
2014/09/27 职场文书
因工资原因离职的辞职信范文
2015/05/12 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang