给定类类型如何在Python中创建实例?

Geo*_*Geo 0 python oop

假设我有这个:

class whatever(object):
   def __init__(self):
      pass
Run Code Online (Sandbox Code Playgroud)

而这个功能:

def create_object(type_name):
   # create an object of type_name
Run Code Online (Sandbox Code Playgroud)

我希望能够这样称呼create_object:

inst = create_object(whatever)
Run Code Online (Sandbox Code Playgroud)

并获取一个实例whatever.我认为这应该是可行的而不使用eval,我想知道如何做到这一点.请注意,我没有使用字符串作为参数create_object.

ebo*_*ebo 7

最明显的方式:

def create_object(type_name):
    return type_name()
Run Code Online (Sandbox Code Playgroud)


Ale*_*lli 5

def create_object(typeobject):
  return typeobject()
Run Code Online (Sandbox Code Playgroud)

正如你明确地说arg to create_object并不是一个字符串,我认为它本身就是一个类型对象本身,就像create_object(whatever)你给出的例子一样,whatever其实就是类型本身.