簡體   English   中英

給定類類型,如何在Python中創建實例?

[英]Given a class type how do I create an instance in Python?

假設我有這個:

class whatever(object):
   def __init__(self):
      pass

和這個功能:

def create_object(type_name):
   # create an object of type_name

我希望能夠這樣調用create_object

inst = create_object(whatever)

並取回的一個實例whatever 我認為無需使用eval就可以做到這一點,我想知道如何做到這一點。 請注意,我沒有使用字符串作為create_object的參數。

最明顯的方法:

def create_object(type_name):
    return type_name()
def create_object(typeobject):
  return typeobject()

當你這樣明確地說,對Arg的create_object並不意味着是一個字符串,我認為它的意思是類型對象本身,就像在create_object(whatever)你給例子,其中whatever確實是該類型本身。

如果我理解正確,那么您想要的是:

def create_object(type_name, *args):
    # create an object of type_name
    return type_name(*args)

inst = create_object(whatever)

我真的不知道您為什么要這樣做,但是很高興聽到您的消息,您為什么需要這種構造。

def create_object(type_name):
   return type_name()

當然你也可以完全跳過功能,並創建實例whatever是這樣的:

inst = whatever()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM