Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147452
  • 博文数量: 61
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 590
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-03 15:26
文章分类

全部博文(61)

文章存档

2010年(9)

2009年(52)

我的朋友

分类: Python/Ruby

2009-03-16 13:17:49

4 自省
Python中任何东西都是对象,自省是指代码可以查看内存中以对象形式存在的其它模块和函数,获取它们的信息,并对它们进行操作。用这种方法, 你可以定义没有名称的函数,不按函数声明的参数顺序调用函数,甚至引用事先并不知道名称的函数。

使用可选参数和命名参数
和c比起来真是……哼哼c
关于python可变形参的理解:认为形参是dic数据,这样对应这送进去了~

内置函数
type()
str()
Python 内置函数都归组到了 __builtin__

自审的核心getattr()
使用getattr()做分发者,方便兼容和扩展。


bool值判断
0、''、[]、()、{}、None 在布尔上下文中为假;其它任何东西都为真
and从左到右推演,全部为真返回最后一个
'a'and 'b'
推演顺序为判断'a'为真,所以继续判断 ,'b'为真,返回'b'
'a' and ''
推演顺序为判断'a'为真,所以继续判断,''为真,返回'' Orz

or从左到右推演,全部为真返回最后一个
'a'or 'b'
推演顺序为判断'a'为真,退出返回'a'
0 and 2
推演顺序为判断0为假,所以继续判断,2为真,所以返回2
and or 技巧
感觉用处比较怪异~


#in apihelper.py 估计是2.6版本的
processFunc = collapse and (lambda s: " ".join(s.split())) or (lambda s: s)


processFunc 现在是一个函数,但是它到底是哪一个函数还要取决于 collapse 变量。如果 collapse 为真,processFunc(string) 将压缩空白;否则 processFunc(string) 将返回未改变的参数。

lambda函数用处:建立一个简单简短的函数。
性质:lambda 函数 在布尔上下文中总是为真
举例:
g = lambda x: x*2
>>> g(3)6



作品loseblue创作,采用进行许可。
阅读(716) | 评论(0) | 转发(0) |
0

上一篇:python3000_变量

下一篇:py3k 类

给主人留下些什么吧!~~