七夕前的学习与杂事

本文分享了作者在个人Linux环境下安装配置Hadoop和Spark的经验,并尝试使用Pyspark和Scala进行操作。此外,还介绍了通过《Python设计模式》一书学习到的面向对象、封装、多态等概念。

图书馆借了本关于Hadoop和spark的书,于是在自己的Linux上鼓捣了两天。最后发现书中在虚拟机上并开了四个虚拟机的操作我的笨电脑实在无法实现并没有下文,其中耍了两下Pyspark(天真地在终端中用Pyspark成功运行后还以为能在python里import pyspark实现)和scala。不过装的过程对linux的各种命令又有了新的认识。

 

面向对象,类,方法这个极其基础的东西我在不同的书上也接触过很多次了,但这次这本《Python 设计模式》这本书讲的很清楚

,包括对象的封装,多态,接口等内容都初有涉猎(感觉老男孩的视频那两个本书看不下去)

class Person(object):
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def get_person(self,):
        return "<Person (%s, %s)" %(self.name,self.age)


p = Person("John",32)
print("Type of Object: ",type(p),"Memory Address:",id(p))

__init__前缀使其可访问性变成私有,可以简单地代替C++与Java语言中public,private,protected等关键字的使用

继承的话是对父类的定义进行独立拓展,且python可以给出多重继承(继承多个基类的方法)。

class A:
    def ak(self):
        print("ak+")

class B(A):
    def b(self):
        print("b-")

b1 = B()
print(b1.ak())

至于抽象,则是通过

接口使数据与类的对象进行交互,但同时外部输入不知道内部如何进行内部处理,以下面简单的高斯求和为例:

class Adder:
    def __init__(self):
        self.sum = 0
    def add(self, other):
        self.sum += other
acc = Adder()
for i in range (99):
    acc.add(i)

print(acc.sum)

实际上用以往的函数代替其实现过程主要在于 self.sum这个单元能否访问和直接输出。

组合则是可以跨模块的实现基本功能的一种实现方法,合成为一种更复杂的数据结构或者软件的实现方法。

class A(object):
    def a1(self):
        print("a1")

class B(object):
    def b(self):
        print("b")
        A().a1()

objectB = B()
objectB.b()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值