您好我试图通过将此函数转换为类来编写我的第一个类。
#My Function
def left_click_first_Thompson(x, y, clicks=17):
SetCursorPos(x, y)
for i in range(clicks):
mouse_event(2, 0, 0, 0, 0)
mouse_event(4, 0, 0, 0, 0)
def left_click_M1A1_Thompson(x, y, clicks=2):
SetCursorPos(x, y)
for i in range(clicks):
mouse_event(2, 0, 0, 0, 0)
mouse_event(4, 0, 0, 0, 0)
"""我试图把它变成一个班级"""
class AimMouse(object):
# The Constructor to Instantiate the Objects
def __init__(self, x, y, clicks):
self.x = x
self.y = y
self.clicks = clicks
def left_click_first_Thompson(self, x, y, clicks=17):
SetCursorPos(x, y)
for i in range(clicks):
mouse_event(2, 0, 0, 0, 0)
mouse_event(4, 0, 0, 0, 0)
def left_click_M1A1_Thompson(self, x, y, clicks=2):
SetCursorPos(x, y)
for i in range(clicks):
mouse_event(2, 0, 0, 0, 0)
mouse_event(4, 0, 0, 0, 0)
我可以请某人去证明阅读并纠正吗?
由于
答案 0 :(得分:2)
编辑:由于我现在理解了您的想法,这里有一些代码可以让您走上正轨:
import ctypes
SetCursorPos = ctypes.windll.user32.SetCursorPos
mouse_event = ctypes.windll.user32.mouse_event
class Aimer:
def __init__(self, clicks):
self.clicks = clicks
def handle_click(self, x, y):
SetCursorPos(x, y)
for i in range(self.clicks):
mouse_event(2, 0, 0, 0, 0)
mouse_event(4, 0, 0, 0, 0)
thompsonAimer = Aimer(clicks=17)
m1a1Aimer = Aimer(clicks=2)
您的代码是正确的,但您没有解释将其转化为课程的动机。
当各种功能需要共享某些状态时,通常会使用类。例如,假设我们想要修复所有函数调用的单击次数,并且函数不会收到这样的参数。您在构造函数中设置self.clicks = clicks
,然后在left_click...
中设置,而不是使用self.clicks
的点击。
现在的样子,存储self.x
,self.y
和self.clicks
是没有意义的,因为它们没有被使用。
如果您是初学者,我不建议您专注于课程,但了解它们的工作原理会很好。