比如下面这段代码
s = 'foo'
d = {'a':1}
def f():
s = 'bar'
d['b'] = 2
f()
print s
print d
为什么修改字典d的值不用global关键字先声明呢?
这是因为,
在s = 'bar'这句中,它是“有歧义的“,因为它既可以是表示引用全局变量s,也可以是创建一个新的局部变量,所以在python中...
分类:
编程语言 时间:
2014-11-23 00:43:31
阅读次数:
194
很多人上了这么多年学,学了这么多年课,考了这么多年试,写了这么多年程序,到头来,问问你#include是什么意思,却只能简单的说说那是一个预处理命令。然后在深问一下,什么是预处理命令,然后就卡壳了。下面我们就来一起瞎折腾一下,看看#include背后的故事。
一般来说,我们都是#include 的,但是今天我不这样写。
先看看我的工程,我的Project中有三个文件,main.cpp ,Foo...
分类:
其他好文 时间:
2014-11-22 23:12:26
阅读次数:
233
听人说gettimeofday 在64bit下有缓存,速度很快,测试下了,感觉不对啊。。#include #include #include #include int foo(int i){ return i;}const int64_t MAX_COUNT = 100000*1000;str...
分类:
系统相关 时间:
2014-11-22 15:50:03
阅读次数:
310
foo(int a[], int len)
{
这是传递的地址!!!!
}
foo(vector a)
{
传递的是值。
}
foo(vector&a)
{
引用。!!!
}...
分类:
编程语言 时间:
2014-11-21 16:15:33
阅读次数:
201
1 #include 2 3 int main(void) 4 { 5 int foo = 10, bar = 15; 6 printf("foo=%d, ", foo); 7 printf("bar=%d\n", bar); 8 ...
分类:
其他好文 时间:
2014-11-21 12:09:35
阅读次数:
220
1. 什么是命名空间? 从广义上来说,命名空间是一种封装事物的方法。在很多地方都可以见到这种抽象概念。例如,在操作系统中目录用来将相关文件分组,对于目录中的文件来说,它就扮演了命名空间的角色。具体举个例子,文件 foo.txt 可以同时在目录/home/greg 和 /home/other 中存在....
分类:
其他好文 时间:
2014-11-20 23:24:38
阅读次数:
272
我们经常会混淆以下三种申明(我是没有留意过):
1. id foo1;
2. NSObject *foo2;
3. id foo3;
第一种是最常用的,它简单地申明了指向对象的指针,没有给编译器任何类型信息,因此,编译器不会做类型检查。但也因为是这样,你可以发送任何信息给id类型的对象。这就是为什么+alloc返回id类型,但调用[[Foo alloc]...
分类:
移动开发 时间:
2014-11-20 20:21:48
阅读次数:
167
va在这里是variable-argument(可变参数)的意思。这些宏定义在stdarg.h中,所以用到可变参数的程序应该包含这个头文件。1.在C中,当我们无法列出传递函数的所有实参的类型和数目时,可以用省略号指定参数表void foo(...);void foo(parm_list,...);这...
分类:
其他好文 时间:
2014-11-20 13:39:54
阅读次数:
113
1. 通常查找出错误日志 cat error.log | grep ‘nick‘ , 这时候我们还有个需求就是输出当前这个日志的前后几行: cat?error.log?|?grep?-C?5?‘nick‘?显示file文件里匹配foo字串那行以及上下5行
cat?err...
分类:
系统相关 时间:
2014-11-19 19:00:37
阅读次数:
432
__call__ 和 __init__半毛钱的关系都没有。后者是构造类的实例时会调用的方法,并不是构造方法。前者是在实例上可以呼叫的方法。代码示例如下:>>> class foo: def __init__(self): print "init" def __call__(self): prin.....
分类:
编程语言 时间:
2014-11-19 00:02:27
阅读次数:
334