如果你在Python 3.7中执行以下语句,它将(从我的测试)打印b:
if None.__eq__("a"):
print("b")
Run Code Online (Sandbox Code Playgroud)
但是,None.__eq__("a")评估为NotImplemented.
当然,"a".__eq__("a")评估True和"b".__eq__("a")评估False.
我最初在测试函数的返回值时发现了这个,但在第二种情况下没有返回任何内容 - 因此,函数返回了None.
这里发生了什么?
这样的标题听起来可能很愚蠢,但是我以前从未见过这样的东西,而且我真的不知道该如何描述它:
因此,我只是编写了第一个内核模块,并且使用了一个链表,该链表使用了linux/list.h头文件。其中有一个宏:
400 /**
401 * list_for_each_entry - iterate over list of given type
402 * @pos: the type * to use as a loop cursor.
403 * @head: the head for your list.
404 * @member: the name of the list_struct within the struct.
405 */
406 #define list_for_each_entry(pos, head, member) \
407 for (pos = list_entry((head)->next, typeof(*pos), member); \
408 prefetch(pos->member.next), &pos->member != (head); \
409 pos = list_entry(pos->member.next, typeof(*pos), member))
Run Code Online (Sandbox Code Playgroud)
而且,我用它是这样的(假设list_head是链表的头,并且list是 …