python-3.x - 如何将特定的实例变量传递给 Python 中的方法?
问题描述
我希望将一个特定的实例变量传递给一个方法,而不是简单地使用“self”,它不能区分我想将哪个变量应用于该方法。我知道我可以使用 self.printer() 但这并不能解决我如何应用单个变量的问题。
我是新来的课程,所以会很感激任何关于如何解决这个问题的建议。
简化示例:
class studentsObject:
def __init__(self):
self.name0 = 'Nick'
self.name1 = 'Ben'
def printer(name):
print('Student name:',name)
def runAll(self):
print(printer(self.name0)) # I would like to pass ONLY name0 to printer method
print(printer(self.name1)) # I would like to pass ONLY name1 to printer method
students = studentsObject()
students.runAll()
输出:
NameError: name 'printer' is not defined
解决方案
您可能需要使用 self 调用打印机,因为它在同一个类中,您还需要在方法打印机中定义 self
class studentsObject:
def __init__(self):
self.name0 = 'Nick'
self.name1 = 'Ben'
def printer(self,name):
print('Student name:',name)
def runAll(self):
print(self.printer(self.name0)) # I would like to pass ONLY name0 to printer method
print(self.printer(self.name1)) # I would like to pass ONLY name1 to printer method
students = studentsObject()
students.runAll()
推荐阅读
- python - Confluent-Kafka Python:如何以编程方式列出所有主题
- python - 如何将 bash 命令集成到 python 代码中
- python - 尝试登录 OneDrive 网页时出现 Selenium NoSuchElementException(尝试了不同的定位元素)
- azure - Azure 应用服务槽不同值应用设置
- java - java.sql.SQLException:mysql 中结果集错误结束后
- java - 未从事件侦听器保存的 Spring Boot 数据
- c# - 如何在 WMP 中加载视频时删除延迟
- android - 当应用程序在后台时如何显示静态屏幕?
- python - 如何将数据从 csv 文件导入 CNN?
- node.js - 在 windows 2008 服务器中杀死 node.exe 进程