如何通過固定的引數動態生成類?

時間 2021-06-15 13:37:42

1樓:Elvin Peng

通過使用 type 可以實現, 下面是乙個簡單的例子:

# -*- coding: utf8 -*-deffunc_test

(cls

,words

):# 第乙個引數為類本身, 相當於類中方法的 selfprint

words

if__name__

=='__main__'

:# 建立乙個名字為A的類, 它有乙個 name 屬性, 有乙個 echo 方法

class_A

=type

('A'

,(),)a

=class_A()a

.echo

('hello python'

)printa.

name

# 輸出為

# hello python

# class generated by typetype一共接受三個引數:type(類的名字, 父類構成的元組,屬性、方法構成的字),例如可以通過class_A = type('Aལecho': func_test, 'name':

'class generated by type'}) 這樣來動態的建立乙個類。

更詳細的內容可以參見 oop - What is a metaclass in Python? 中最高票的答案。

如何生成總和固定的幾個(有範圍的)隨機數?

你可以看看乙個叫做狄利克雷分布的東西 或者你可以用Beta分布或者Gamma分布生成Dirichlet分布用R語言 http cran.r project.org gtools rdirichlet m,rep 1,n S生成m組像 符咒的力量 描述的那種隨機數,每組n個,其和為S一般的,用 gto...

請問寫C程式時,固定不變的動作跟動態變化的動作分成兩個子函式會不會好些?

記憶體塊生命週期 emm可以考慮,但是你看情況吧。拿個我常用的list說事吧。假如我有乙個委託管理記憶體的list def stc List List def stc Node Node def stc List u64 length Node head Node tail void obj del...

如何通過乙個 int 陣列生成唯一的 int 型別 id?且陣列元素固的話生成的 id 也固定?

陳森 不可能是唯一的。其實問題可以轉化為乙個簡單的排列組合問題 1000個不同元素裡每次取出0個,1個,2個,1000個不同元素,那麼它產生的所有可能共有 2 eeimg 1 顯然是不可能一一對映的。 zpan 如果你知道這個陣列的 int 的組合是有限的話,那可以排序後插入乙個 set,並且插入的...