1
Sunyanzi 2014-11-13 04:23:43 +08:00 1
区别大了 ... 这是在判断是否是奇数 ...
不过说起来我更好奇的是 ... 你是怎么认为这是在判断是否等于 1 的 ..? |
5
blacktulip 2014-11-13 06:19:16 +08:00
@CupTools 不耻下问...
|
6
Sunyanzi 2014-11-13 06:22:50 +08:00 1
|
7
zxy 2014-11-13 06:45:55 +08:00 via iPhone
刚醒来,结果也把&当作&&读了,感谢楼上
|
8
dreampuf 2014-11-13 07:09:52 +08:00 1
区别大了
In [115]: dis.disassemble(compile("total & 0x01", "__file__", "single")) 1 0 LOAD_NAME 0 (total) 3 LOAD_CONST 0 (1) 6 BINARY_AND 7 PRINT_EXPR 8 LOAD_CONST 1 (None) 11 RETURN_VALUE In [116]: dis.disassemble(compile("total == 1", "__file__", "single")) 1 0 LOAD_NAME 0 (total) 3 LOAD_CONST 0 (1) 6 COMPARE_OP 2 (==) 9 PRINT_EXPR 10 LOAD_CONST 1 (None) 13 RETURN_VALUE In [117]: dis.disassemble(compile("total and 1", "__file__", "single")) 1 0 LOAD_NAME 0 (total) 3 JUMP_IF_FALSE_OR_POP 9 6 LOAD_CONST 0 (1) >> 9 PRINT_EXPR 10 LOAD_CONST 1 (None) 13 RETURN_VALUE |
9
staticor 2014-11-13 07:58:59 +08:00 1
multi-assignment 其实可以理解为定义了一个 "namedtuple" = tuple
name, height = "mike", "78kg" ==> (name, height) = ("mike", "78kg") 可以分别试试 a = 1, 2 a = (1, 2) 查看得到的a 类型 |
10
whalegia OP @staticor 谢谢!
我解释一下您看对吗: 他这里其实是定义了一堆变量, 1、numLen 是 num 的长度,为整型 2、res 是一个 tuple,还没有值 3、dict 是一个字典,为空 4、然后这三个东西在一起又是一个 tuple:(numLen, res, dict),像这样?? 我试了 a = 1, 2 和 a = (1, 2),打印出来两个是一样的。所以 tuple 定义的时候可以没有括号啊原来。 |
11
cloud107202 2014-11-13 09:32:15 +08:00
不耻下问。。楼主赶快去查查词典,以后可别在重要场合搞错这个成语
|
12
staticor 2014-11-13 09:37:42 +08:00 1
@whalegia 理论上可以这样做的.
不过我建议自己写时还是把同类型的一起赋值吧. 要注意两边的个数问题. a, b = 2 #not match Typeerror a, b = 1, 2 3 # too many values, valueError 可以用 a, *b = 1,2,3 这也是*的一个实用的地方了. |
14
msg7086 2014-11-13 11:53:37 +08:00
|
15
cloud107202 2014-11-13 12:14:51 +08:00
@msg7086 ^_^
|
17
O14 2014-11-13 14:48:47 +08:00 via Android
楼主学Python,还是搜一下看《简明Python教程》吧
|
19
forreal 2014-11-13 20:08:40 +08:00
gao
|
21
whalegia OP |
22
Sunyanzi 2014-11-15 09:00:26 +08:00
|