kir*_*ran 3 python types function
我正在尝试定义一个函数(initdeque()),它接受一个指向deque类实例的指针.所以这就是我的尝试:
from ctypes import *
class deque(Structure):
pass
deque._fields_ = [("left",POINTER(node)),("right",POINTER(node))]
def initdeque(class deque *p):
p.left=p.right=None
Run Code Online (Sandbox Code Playgroud)
但是这段代码给出了语法错误:
def initdeque(class deque *p):
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
什么是正确的语法?
没有办法指定Python变量的类型,所以声明initdequeue应该只说:
def initdeque(p):
p.left = p.right = None
Run Code Online (Sandbox Code Playgroud)
class deque(Structure):
_fields_ = [("left",POINTER(node)), ("right",POINTER(node))]
def __init__(self):
self.left = self.right = None
Run Code Online (Sandbox Code Playgroud)
现在,要创建一个新实例,只需编写
p = dequeue()
Run Code Online (Sandbox Code Playgroud)