python-3.x - 用输入初始化对象
问题描述
当我创建一个对象时,我希望它有一个列表。我想打印一个句子,然后要求输入填写列表所必需的输入。但它首先要求输入,然后打印出句子。我该如何解决?
class Test:
def __init__(self, num1, num2 ,num3):
print("enter 3 numbers")
self.num1 = num1
self.num2 = num2
self.num3 = num3
test_object = Test(input("num1: "), input("num2: "), input("num3: "))
# What I get:
# >>> num1: 1
# >>> num2: 2
# >>> num3: 3
# >>> enter 3 numbers
#What I want:
# >>> enter 3 numbers
# >>> num1: 1
# >>> num2: 2
# >>> num3: 3
解决方案
我想您将输入输入到类中,以便在设置类方法之前在 print 之后调用输入。有了这个,你__init__
不会有任何争论。
class Test:
def __init__(self):
print("enter 3 numbers")
self.num1 = input("num 1: ")
self.num2 = input("num 2: ")
self.num3 = input("num 3: ")
test_object = Test()
#What you will get this any time you call Test()
# >>> enter 3 numbers
# >>> num1: 1
# >>> num2: 2
# >>> num3: 3
或者
在类声明之前调用 print 语句
class Test:
def __init__(self, num1, num2 ,num3):
self.num1 = num1
self.num2 = num2
self.num3 = num3
print("enter 3 numbers")
test_object = Test(input("num1: "), input("num2: "), input("num3: "))
#What you will get
# >>> enter 3 numbers
# >>> num1: 1
# >>> num2: 2
# >>> num3: 3
推荐阅读
- aws-lambda - 如何为 API Gateway Websocket 编写 Java Lambda 处理程序?
- multithreading - Hololens - Unity:LoadImage 冻结主线程
- android - 缺少匹配 android 呼叫状态的 RILJ 日志行
- r - 为什么 tidyverse 仍然需要 plyr 加载?
- html - 用外部元件扰乱流动
- go - Golang protobuf 动态消息
- ios - 在 iOS 中禁用父自定义控件中的手势
- c# - Why ng-repeat records multiply in combobox in Aspnet Mvc?
- java - WatchKey 始终为空
- python - 使用 SQLAlchemy 在 Postgresql 中创建数据库表时出现编程错误