Chinaunix首页 | 论坛 | 博客
  • 博客访问: 158851
  • 博文数量: 45
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 273
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-28 10:30
文章分类
文章存档

2017年(6)

2016年(3)

2015年(8)

2014年(28)

我的朋友

分类: Python/Ruby

2014-07-22 21:41:53

在交互式界面下,与Perl类似,当上一次执行的命令返回值没有显式的用变量存储,且返回值不为None的时候,这个返回值会被交互式环境动态的存储在变量_当中。例如:
>>> a=1
>>> a
1
>>> _
1
>>> a=None
>>> a
>>> _
1

在脚本当中,有一种技术叫“假读”,用在当函数返回多个值(一个tuple),而你只关心其中一部分的时候,往往用 _ 来将不关心的那部分接住,以后不再使用。不过在使用“假读”技术的时候,最好不要用 _ ,而另外起一个显眼一点的名字,原因见后面。“假读”例子:
_ , ext = os.path.splitext('/tmp/something.txt')
不过最好另起个名字,比如:
dummy, ext = os.path.splitext('/tmp/something.txt')
或者直接指定也可以:
ext = os.path.splitext('/tmp/something.txt')[1]

还有一个重要的函数是 _( ),用来国际化的处理字符串,将给出其参数的国际化版本,比如在中文的local下
_("Hello") 会返回是 "你好",所以Widget.set_text(_("Hello")) 相当于 Widget.set_text("你好")。正因为如此,如果你在使用“假读”技术的时候用了 _ ,那么这个国际化的函数将被覆盖掉,在一个大工程当中,这就是一场灾难。
阅读(763) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~