【问题标题】:POO (French: Object-Oriented Programming) and defPOO(法语:面向对象编程)和定义
【发布时间】:2021-02-01 17:57:52
【问题描述】:

我需要在 Python 3 中使用 OOP 范式在另一个函数中获取一个变量。

也许我下面写的例子可以更好更容易地表达我需要做的事情:

class Mother:

    def first_def(self):
        var = 'Need this!'

    def second_def(self):
        var = 'Need  this!' # Need to pull from first_def to use here.

基本上我需要从first_def 中提取var 以在second_def 上使用。 关于我如何做到这一点的任何线索?

【问题讨论】:

  • 你尝试了什么?请发布您的代码。我们在这里帮助您解决编程问题,而不是为您编写代码。
  • return var 会完成这项工作 - 但学习一些基础知识对你来说会更好。拿一本书/教程花一些时间在上面。

标签: python python-3.x oop


【解决方案1】:

var 设为实例属性。 (我不知道你所说的“POO”是什么意思。)

class Mother:
    def first_def(self):
        self.var = "Need this"

    def second_def(self):
        # Do what you want with self.var
        print(self.var)


m = Mother()  # m.var not yet set
m.first_def()  # sets m.var
m.second_def()  # outputs "Need this"

【讨论】:

  • 我猜是 POO,OP 是指 OOP
【解决方案2】:

有两种方法可以做到:

class Mother:

    def first_def(self):
        var = 'Need this!'
        return var;

    def second_def(self):
        var = self.first_def()

或者您可以将此变量设置为类变量并稍后访问它:

class Mother:
    def first_def(self):
        self.var = "Need this"

    def second_def(self):
        # Do what you want with self.var
        print(self.var)


m = Mother()  # m.var not yet set
m.first_def()  # sets m.var
m.second_def()  # outputs "Need this"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 2018-09-04
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 2018-08-02
    相关资源
    最近更新 更多