• 成员变量


    这是一个最近邻的代码:

    import numpy as np
    
    class NearestNeighbor(object):
      def __init__(self):
        pass
    
      def train(self, X, y):
        self.Xtr = X
        self.ytr = y
    
      def predict(self, X):
        num_test = X.shape[0]
        Ypred = np.zeros(num_test, dtype = self.ytr.dtype)
    
        for i in xrange(num_test):
          distances = np.sum(np.abs(self.Xtr - X[i,:]), axis = 1)
          min_index = np.argmin(distances) 
          Ypred[i] = self.ytr[min_index]
    
        return Ypred

    这里self.Xtr是属性(成员变量),整个类中所有的函数都可以调用,因为他是属于类的。

    如果去掉self,只有Xtr,这时候就是局部变量,这个只属于train整个函数。

    class people:
        __name = 'jack'                 这是类属性。这种没有经过__init__函数的属性,就不需要实例化时输入参数。
        __age = 12
    
        def getName(self):
            return self.__name
        def getAge(self):
            return self.__age
    
    p = people()                         对象进行实例化了
    print p.getName(),p.getAge()
    class peo:
        def __init__(self,name,age,sex):
            self.Name = name
            self.Age = age
            self.Sex = sex
        def speak(self):
            print "my name" + self.Name
        def __str__(self):
            msg='my name is: ' +self.Name+ ","+ "my age is: " + self.Age +','+ "my sex is:" +self.Sex
            return msg
    shanghai=peo('shanghai','23','man')
    

  • 相关阅读:
    mysql -- 备忘
    Linux基础命令---压缩与打包
    nginx rewrite
    重启php-fpm
    Mysql:输出到文件
    IOS 自定义Layer(图层)
    IOS CALayer基本使用 (图层)
    IOS 拖拽事件(手势识别)
    IOS 旋转+缩放(手势识别)
    IOS 长按+轻扫(手势识别)
  • 原文地址:https://www.cnblogs.com/ymjyqsx/p/6492968.html
Copyright © 2020-2023  润新知