什麼是工廠函式?Python 中工廠函式怎麼理解?

時間 2021-05-11 19:33:13

1樓:lalaland

```python

class mq(object):

def __init__(self,string_c):

self.config_str=string_cdef print_str(self):

print(self.config_str)def crete_factory_method(config_str):

tp=mq(config_str)

return tp

factory_test = crete_factory_method('這是第乙個單元測試')

factory_test2 = crete_factory_method('這是第二個單元測試')

factory_test.print_str()#Out:這是第乙個單元測試

factory_test2.print_str()#Out:這是第二個單元測試

2樓:

源於設計模式中的一種說法,就是指你不通過類來直接構造物件,而是通過乙個函式來構造物件,這樣允許你在函式中加入更多的控制。

3樓:java小牛

工廠函式是工廠模式的一種,是乙個類,是負責生產具體的類例項(工廠的具體產品)的類。這位老兄將的不錯,入門了。http://www.

4樓:日朗格拉

看了半天答案,說了半天等於沒說.

見python核心程式設計:工廠函式看上去有點像函式,實質上他們是類,當你呼叫它們時,實際上是生成了該型別的乙個例項,就像工廠生產貨物一樣.

5樓:蘇小生

是這樣的。函式maker裡面巢狀了乙個函式action,首先給傳給maker函式乙個引數,這個引數傳給了action函式,使得action函式可以形成具體的函式,譬如書上形成的是action(X)(此時引數N為2),此時,action(x)函式已經具體了,也就是def action(X): return X**2,然後將action(x)返回給頂層,並賦值給f,也就是現在f是action(x),然後再傳遞引數到f中,也就是傳給了action(x)。

總結一下,之所以稱之為工廠函式,是因為,可以自由更改巢狀函式的引數,譬如書中說的,將N=2,則f可以是平方函式,如果N=3,則f可以是3次方函式,N=4,則f可以是4次方函式。等等……

在python中的randrange函式和uniform函式的區別是什麼?

無關風月 函式簽名說的已經比較清楚了啊 In 7 random.randrange?Signature random.randrange start,stop None,step 1,int maxwidth 9007199254740992L Docstring Choose a random i...

python中輸入函式的引數是什麼作用?

Bu.xing 感覺你問的是python中的input 函式。input 函式的功能之一是為使用者創造一種控制程式走向的選擇權力,此時其引數的作用多用於提示性的文字引數,示例如下 print 您想要什麼飲料?a.咖啡 b.奶茶 inpu input 請您做出選擇 a b if inpu a prin...

python中quote函式是什麼意思,怎麼用?

黃哥 urllib.quote string safe 20.5.urllib Open arbitrary resources by URL Replace special characters in string using the xx escape.Letters,digits,and th...