从命令行动态读取并创建对象

发布于 2025-01-05 07:38:27 字数 320 浏览 1 评论 0原文

我想从命令行动态读取并将输入转换为正确的格式。因此我必须确定所需的类型并实例化这样的对象。由于输入是 str 我必须正确转换输入。 这是我想用伪代码执行的示例。如果 TypeOf 失败,它应该引发异常,可能是 ValueError

required_foo_type = 3.0
foo_input = Input("Enter foo: ")
bar = new TypeOf(required_foo_type, foo_input)

我怎样才能在Python中做到这一点?

I want to dynamically read from the command line and convert the input to the right format. Therefore I have to determien the required type and instantiate such an object. Due input is str I have to convert the input correctly.
Here is an example what I want to do in pseudocode. If TypeOf fails it should raise an exception, maybe ValueError.

required_foo_type = 3.0
foo_input = Input("Enter foo: ")
bar = new TypeOf(required_foo_type, foo_input)

How can I do that in python?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

盛夏已如深秋| 2025-01-12 07:38:27
foo_input = raw_input("Enter foo: ")

required_foo_type = float # aka type(3.0)
try:
     bar = required_foo_type(foo_input)
except TypeError:
     print "wrong input"
foo_input = raw_input("Enter foo: ")

required_foo_type = float # aka type(3.0)
try:
     bar = required_foo_type(foo_input)
except TypeError:
     print "wrong input"
深居我梦 2025-01-12 07:38:27

最好先开始学习 Python 教程。它可以让您快速开始。
就像这个: Python 教程 特别是阅读第 3 章开始...

Jochen Ritzel 给了你一个非常好的很好的答案。 :) 但如果你觉得它太超前了,。这是最简单的。

a = input("Enter a number: ") # return integer
b = raw_input("Enter any text") # return string
c = int(raw_input("Enter number: ")) # return string but converted to integer
d = float(raw_input("Enter float: ")) # return string but converted to float

It is good that you start the Python tutorial first. It give you a quick start.
Like this one: Python Tutorial Especially read the chapter 3 onward...

Jochen Ritzel has gave you a very good answer. :) But if you feel it's too advance,. Here is the easy one.

a = input("Enter a number: ") # return integer
b = raw_input("Enter any text") # return string
c = int(raw_input("Enter number: ")) # return string but converted to integer
d = float(raw_input("Enter float: ")) # return string but converted to float
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文