也是好久没有更新过了,今天主要想写的就是关于面向的对象的属性的问题。
属性的解释来看,能够简单的理解为方法但是是用字段的方式来调用方法。除此之外,另外一种是不加装饰器,利用python提供方式来写,根据你不同的对象来进行用,其实本质也是定义方法,来用对象调用。
1 class Object:
2 def f1(self):
3 return '123'
4 def f2(self, value):
5 print(value)
6 def f3(self):
7 a = 1 + 1
8 print(a)
9 foo = property(fget=f1, fset=f2, fdel=f3)
10
11 p = Object()
12 result = p.foo
13 print(result)
14 p.foo = '周'
15 del p.foo
其中就是先定义方法,其次类似于装饰器的用上fget、fset、fdel的方式对应到方法。接着就是用对象来进行调用。只不过这种方式感觉起来更加的优雅。
PS:并行和分布式的问题,今天讨论了下,主要把握一点并行的结果相互影响的,分布式的结果互不影响。
这就类似于做一件八个步骤的事,并行是把这事所需要的工作量分为八份,而分布式就相当于分为八个部分,每个人做,之后再碰撞出结果。例如性别(男女)、形体(高矮)、体型(胖瘦)、视力(戴眼镜、不戴)这个要是按照非分布式的看就是2*2*2*2这样来做,训练集不够则可能无法判断出是否这人戴眼镜。就相当于消息是从前往后传递,但是中间有损失或者失真等等,没有足够多的去验证可能不准。或者说是,判断的是否戴眼镜是依赖于上一个条件体型综合下来的东西。没办超越或者跨前一个节点条件,按照给定的算法顺序下来,不能直接和性别“交流”或者判断。而分布式则是,直接分为(男、女、胖、瘦、高、矮、戴、不戴)这八个属性,自由的去学习碰撞。这样举例来说就相当于,直接交流,不完全依靠中间的传递,不用需要大量的训练集去修正(相当我们之间需要交流很多次我才信任你这个人,你带的上层信息是否真实,分布式则直接可以交流与上层碰撞)。而是相互学习,验证(直接问),最终判断这个戴不戴眼镜。八个属性都有对方不知道的信息,相互碰补充。而以前则是工作量均分,合起来给出结果就行。这样理解,组装一辆汽车,需要八个零件,分布式就相当于让八个人各负责一个,自己去碰撞怎么把车组装的更好。非分布式则是相当于把工作量分到八个人,一步步的做,则中间需要大量的数据来修正前一步传达的准确性。比如有个1缺陷可能你要从大量的数据修正中找出来了,但是分布式则是在碰撞中就直接问1的这个缺陷。