我是机器学习和Python的新手。
我一直在使用Keras进行项目。
Model
的几乎所有属性的第一个参数是self
。
例如:
fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)
有人可以告诉我self
指的是什么吗?
答案 0 :(得分:0)
在Model
的方法中,self
是您正在使用的类Model
的特定实例。如果一个类是一个物种,那个类的一个实例(或对象)就是该物种的特定个体。
在过程语言(例如C)中,所有数据都作为参数传递给函数。在支持面向对象的语言(例如Python)中,函数(方法)被认为属于某些类对象。不是将这样的对象作为显式参数传递给函数,而是匿名传递""在self
。
<object>.<function> (<explicit params>)
会调用<function> (self = <object>, <explicit params>)
。
在一些面向对象的语言(例如C ++)中,如果调用是从另一个方法调用的,那么self
(或者在这种情况下this
参数甚至不必提及相同的对象,但它无论如何都隐含着。