python的return self的用法


轉載:https://blog.csdn.net/jclian91/article/details/81238782

class foo: def __init__(self): self.m = 0 def bar(self): self.m += 1
return self f = foo() f.bar().bar().bar() print(f.m) print(type(f)) print(type(f.bar())) 輸出: 3
<class '__main__.foo'>
<class '__main__.foo'>

 

一個真實的例子:

sklearn模塊中很多方法的返回結果為self, 比如大多數模型的fit()方法,例子如下:

from sklearn.linear_model import LogisticRegression X = [[0,0], [0,1], [1,0], [1,1]] y = [0, 1, 1, 0] clf = LogisticRegression() #fit函數返回的結果就是self, 允許鏈式調用
t = clf.fit(X,y) print(t)

輸出:

LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,penalty='l2', random_state=None, solver='liblinear', tol=0.0001,verbose=0, warm_start=False)

總結:return self 返回的是類的實例

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM