Python 为什么我的函数抛出类型错误;num()得到一个意外的关键字参数';ip';?

Python 为什么我的函数抛出类型错误;num()得到一个意外的关键字参数';ip';?,python,random,Python,Random,我的目标是创建一个随机int(1-254),但在尝试使用click时,会不断出现意外的关键字参数错误。我做错了什么 import click from random import randint as r @click.command() @click.option("--ip", default="192.168.0.1", help="IP Address") @click.option('--host', default="www.google.com" , help="Host URL

我的目标是创建一个随机int(1-254),但在尝试使用click时,会不断出现意外的关键字参数错误。我做错了什么

import click
from random import randint as r

@click.command()
@click.option("--ip", default="192.168.0.1", help="IP Address")
@click.option('--host', default="www.google.com" , help="Host URL")
def num(self):
    x = r(1,254)
    click.echo(x)

if __name__ == "__main__":
    num()

单击修饰函数需要接受定义为参数的选项。另外,
self
是调用实例方法但定义了自由函数的对象的参数名

请注意我对
def
行的更改:

import click
from random import randint as r

@click.command()
@click.option("--ip", default="192.168.0.1", help="IP Address")
@click.option('--host', default="www.google.com" , help="Host URL")
def num(ip, host):
    x = r(1,254)
    click.echo(x)

if __name__ == "__main__":
    num()