Python 在单独的函数中使用一个函数的参数

Python 在单独的函数中使用一个函数的参数,python,function,Python,Function,我有一个功能: def create_discs(noDiscs): def hanoi(disc_int): def create_discs(num): # ... return what_it_normally_returns, hanoi_closure create_discs_result, hanoi = create_discs(5) hanoi() 调用时会创建指定数量的光盘,例如: create_discs(5) 将创建5张光盘 然后,我想在单独的函

我有一个功能:

def create_discs(noDiscs):
def hanoi(disc_int):
def create_discs(num):
    # ...
    return what_it_normally_returns, hanoi_closure

create_discs_result, hanoi = create_discs(5)
hanoi()
调用时会创建指定数量的光盘,例如:

create_discs(5)
将创建5张光盘

然后,我想在单独的函数中使用输入到create_discs函数中的整数:

def create_discs(noDiscs):
def hanoi(disc_int):
def create_discs(num):
    # ...
    return what_it_normally_returns, hanoi_closure

create_discs_result, hanoi = create_discs(5)
hanoi()
换句话说,我希望disc_int等于5(或输入任何数字)


有人能帮我吗?

如果你要通过
5
制作光盘,你能做到:

num = 5

create_discs(num)
hanoi(num)

如果您通过
5
制作光盘,您可以执行以下操作:

num = 5

create_discs(num)
hanoi(num)

如果您通过
5
制作光盘,您可以执行以下操作:

num = 5

create_discs(num)
hanoi(num)

如果您通过
5
制作光盘,您可以执行以下操作:

num = 5

create_discs(num)
hanoi(num)

如果您希望两个函数像这样共享状态,那么应该将它们定义为类的方法

class Hanoi(object):

    def __init__(self, num_discs):
        self.num_discs = num_discs

    def create_discs(self):
        # use value of self.num_discs

    def hanoi(self):
        # use value of self.num_discs

h = Hanoi(5)
h.create_discs()
h.hanoi()

如果您希望两个函数像这样共享状态,那么应该将它们定义为类的方法

class Hanoi(object):

    def __init__(self, num_discs):
        self.num_discs = num_discs

    def create_discs(self):
        # use value of self.num_discs

    def hanoi(self):
        # use value of self.num_discs

h = Hanoi(5)
h.create_discs()
h.hanoi()

如果您希望两个函数像这样共享状态,那么应该将它们定义为类的方法

class Hanoi(object):

    def __init__(self, num_discs):
        self.num_discs = num_discs

    def create_discs(self):
        # use value of self.num_discs

    def hanoi(self):
        # use value of self.num_discs

h = Hanoi(5)
h.create_discs()
h.hanoi()

如果您希望两个函数像这样共享状态,那么应该将它们定义为类的方法

class Hanoi(object):

    def __init__(self, num_discs):
        self.num_discs = num_discs

    def create_discs(self):
        # use value of self.num_discs

    def hanoi(self):
        # use value of self.num_discs

h = Hanoi(5)
h.create_discs()
h.hanoi()

你可以做个了结:

def create_discs(num):
    # create some discs
    def hanoi_closure():
        # now num is available within this function
        # do hanoi stuff
        return
    return hanoi_closure

hanoi = create_discs(5)
hanoi()
在这种情况下,
create_discs
在其自身中定义了
hanoi
函数,以便
num
在其范围内(自动,无需在
全局
中存储任何内容),并返回内部函数,以便您可以稍后调用它

如果
create\u discs
已经应该返回一些内容,那么您可以返回一个
tuple
,其中包含返回的内容以及内部函数:

def create_discs(noDiscs):
def hanoi(disc_int):
def create_discs(num):
    # ...
    return what_it_normally_returns, hanoi_closure

create_discs_result, hanoi = create_discs(5)
hanoi()

你可以做个了结:

def create_discs(num):
    # create some discs
    def hanoi_closure():
        # now num is available within this function
        # do hanoi stuff
        return
    return hanoi_closure

hanoi = create_discs(5)
hanoi()
在这种情况下,
create_discs
在其自身中定义了
hanoi
函数,以便
num
在其范围内(自动,无需在
全局
中存储任何内容),并返回内部函数,以便您可以稍后调用它

如果
create\u discs
已经应该返回一些内容,那么您可以返回一个
tuple
,其中包含返回的内容以及内部函数:

def create_discs(noDiscs):
def hanoi(disc_int):
def create_discs(num):
    # ...
    return what_it_normally_returns, hanoi_closure

create_discs_result, hanoi = create_discs(5)
hanoi()

你可以做个了结:

def create_discs(num):
    # create some discs
    def hanoi_closure():
        # now num is available within this function
        # do hanoi stuff
        return
    return hanoi_closure

hanoi = create_discs(5)
hanoi()
在这种情况下,
create_discs
在其自身中定义了
hanoi
函数,以便
num
在其范围内(自动,无需在
全局
中存储任何内容),并返回内部函数,以便您可以稍后调用它

如果
create\u discs
已经应该返回一些内容,那么您可以返回一个
tuple
,其中包含返回的内容以及内部函数:

def create_discs(noDiscs):
def hanoi(disc_int):
def create_discs(num):
    # ...
    return what_it_normally_returns, hanoi_closure

create_discs_result, hanoi = create_discs(5)
hanoi()

你可以做个了结:

def create_discs(num):
    # create some discs
    def hanoi_closure():
        # now num is available within this function
        # do hanoi stuff
        return
    return hanoi_closure

hanoi = create_discs(5)
hanoi()
在这种情况下,
create_discs
在其自身中定义了
hanoi
函数,以便
num
在其范围内(自动,无需在
全局
中存储任何内容),并返回内部函数,以便您可以稍后调用它

如果
create\u discs
已经应该返回一些内容,那么您可以返回一个
tuple
,其中包含返回的内容以及内部函数:

def create_discs(noDiscs):
def hanoi(disc_int):
def create_discs(num):
    # ...
    return what_it_normally_returns, hanoi_closure

create_discs_result, hanoi = create_discs(5)
hanoi()

你从哪里调用河内?我会说这取决于这两个函数是如何关联的,以及是什么调用它们。。。您可以将光盘数量存储在全局变量中,也可以在类中声明这两个函数,并将光盘数量作为实例属性,然后创建一个实例……hanoi在我的hanoi脚本末尾被调用。我不知道该在调用中将disc\u int等同于nodiscss中添加什么内容,向我们展示您如何使用
创建光盘
,以便我们可以告诉您实现此目的的最佳方法@罗伯托给出了两个不错的选择。你从哪里调用河内?我想这取决于这两个函数是如何关联的,以及是什么调用它们。。。您可以将光盘数量存储在全局变量中,也可以在类中声明这两个函数,并将光盘数量作为实例属性,然后创建一个实例……hanoi在我的hanoi脚本末尾被调用。我不知道该在调用中将disc\u int等同于nodiscss中添加什么内容,向我们展示您如何使用
创建光盘
,以便我们可以告诉您实现此目的的最佳方法@罗伯托给出了两个不错的选择。你从哪里调用河内?我想这取决于这两个函数是如何关联的,以及是什么调用它们。。。您可以将光盘数量存储在全局变量中,也可以在类中声明这两个函数,并将光盘数量作为实例属性,然后创建一个实例……hanoi在我的hanoi脚本末尾被调用。我不知道该在调用中将disc\u int等同于nodiscss中添加什么内容,向我们展示您如何使用
创建光盘
,以便我们可以告诉您实现此目的的最佳方法@罗伯托给出了两个不错的选择。你从哪里调用河内?我想这取决于这两个函数是如何关联的,以及是什么调用它们。。。您可以将光盘数量存储在全局变量中,也可以在类中声明这两个函数,并将光盘数量作为实例属性,然后创建一个实例……hanoi在我的hanoi脚本末尾被调用。我不知道该在调用中将disc\u int等同于nodiscss中添加什么内容,向我们展示您如何使用
创建光盘
,以便我们可以告诉您实现此目的的最佳方法@罗伯托给出了两个不错的选择。