python,小白想文一个关于类中的方法问题

python,小白想文一个关于类中的方法问题

源码:

class GaussianProcessRegressor(MultiOutputMixin, RegressorMixin, BaseEstimator):

def __init__(self,kernel=None,*,alpha=1e-10,optimizer="fmin_l_bfgs_b",n_restarts_optimizer=0,

normalize_y=False,copy_X_train=True,random_state=None,):

self.kernel = kernel

self.alpha = alpha

self.optimizer = optimizer

self.n_restarts_optimizer = n_restarts_optimizer

self.normalize_y = normalize_y

self.copy_X_train = copy_X_train

self.random_state = random_state

def fit(self, X, y):

if self.kernel is None:

self.kernel_ = C(1.0, constant_value_bounds="fixed") * RBF(

1.0, length_scale_bounds="fixed")

else:

self.kernel_ = clone(self.kernel)

self._rng = check_random_state(self.random_state)

if self.kernel_.requires_vector_input:

dtype, ensure_2d = "numeric", True

else:

dtype, ensure_2d = None, False

X, y = self._validate_data(

X,

y,

multi_output=True,

y_numeric=True,

ensure_2d=ensure_2d,

dtype=dtype,

)

在一个类中看到了如下表示X,y = self._validate_data(),小白想问一下,这是一个方法吗?为什么类中可以这样写


回答:

这个概念python称为解包,简化一下

def test():

return 1,2

a,b = test()

-----

a=1

b=2

还可以这么用

a,b = [1,2]

a,b = (1,2)

python3还支持这样

a,*b = [1,2,3]

---

a=1

b=[2,3]

在函数传参中使用

def test1(a,b,c):

print(a,b,c)

def test2(*arg):

for i in arg:

print(i)

a = [1,2,3]

test(*a)

test2(*a)

-----

test1: 1 2 3

test2:

1

2

3

以上是 python,小白想文一个关于类中的方法问题 的全部内容, 来源链接: utcz.com/p/938333.html

回到顶部