`say()`take`0`位置参数,但给出了2个

2024-04-27 00:52:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有问题,我的代码不工作。我要做的是让pyautogui键入我想要它键入的任何内容。所以我没有输入pyautogui.typewrite("Something")一百次,而是试着做一个def这样我就可以说say("Whatever I need")。我得到的信息是:

`say()` takes `0` positional arguments but 2 were given

我的代码是:

import pyautogui
import time
import random

def say():
    pyautogui.typewrite()

say((), 'I am smart')

顺便说一句,我不是这个意思


Tags: 代码import信息内容键入defneedarguments
2条回答

当一个方法被调用时,它接受方法定义中括号中定义的参数。所以:

def say_hello(name):
   print("Hello " + name)

在本例中,参数名为name,必须始终传递。如果只调用say_hello()而不带任何参数,则会得到一个错误。在

同样,方法不能接受超过定义的参数。由于say()没有参数,因此它不能接受任何参数。在

要想让say()真正写下你想要的东西,唯一的方法就是这样:

^{pr2}$

你可能想要

import pyautogui
import time
import random

def say(something):
    pyautogui.typewrite(something, interval=0.1)

say('I am smart')

something是一个变量,用作函数say()的参数。在

相关问题 更多 >