python复习总结-4

本文介绍了面向对象编程的基本概念,包括类、对象和实例化,展示了如何创建和使用类方法。通过示例展示了如何创建dog类并实例化对象,以及如何通过对象调用封装的数据。此外,还讨论了类的继承,展示了一个从scale类继承的company类。最后,讲解了文件读写操作,包括写入、读取和文件定位。
摘要由CSDN通过智能技术生成

面向对象

类(class)是对具有相同属性和方法的一组对象的描述或定义,对象(object)是类的一个具体实例,创建一个新的对象的过程叫做实力化,类属性是类的一个统一属性,其方法不会因为实例化对象的不同而改变,而类方法是类中的一种内置函数。

我们直接来以创建一个名叫bobc

class dog(object):
    def__init__(self,name,kind,month_age):
        self.name=name
        self.kind=kind
        self.month_age=month_age


    def __str__(self):
        return '<dogname:%s(%s,%d months)>' %(self.name,self.kind,self.month_age)



    def bark(self):
        print("wangwang")

if __name__ == '__main__':
    bob=dog('bob','golden',13)
    print(bob)
    bob.bark()

 创建一个名为dog的类,并且我们在该类中添加一些类属性和类方法,类方法的函数搭建过程中必须由内置self,bob=dog('bob','golden',13)则是实例化了一个名叫bob的对象,并添加了一些属性,if __name__ == '__main__':保证了当前程序入口的唯一性,避免了外部模块的干扰

<dogname:bob(golden,13 months)>
wangwang

我们可以将一些数据直接封装到类对象中,并在之后使用时调用

class comany():
    def__init__(self,dept,leader):
        self.dept=dept
        self.leader=leader


    def show(self):
        print(self.dept)
        print(self.leader)
 


if __name__ == '__main__':
    obj1=company("a","kevin")
    obj2=company("b","jone")



print(obj1.dept)
print(obj2.leader)  #通过对象直接调用封装的数据
  


obj1.show()
obj2.show()         #通过self来简洁调用

对象的继承,当我们想要创建一个与之前类十分相似的类时,可以使用类的继承

class scale:
    def check(self):
        if self.count_person > 500:
            print("it is a big company")
        else:
            print("it is a small company")



class company(scale):
    def__init__(self,name,count):
        self.name=name
        self.count=count


if __name__ == '__main__':
    my_conpany=compant("abc",6000)
    my_company.check()

我们还可以继承多个父类:

class scale:
    def check(self):
        if self.count_person > 500:
            print("it is a big company")
        else:
            print("it is a small company")




class detail()
    def show(self,scale):
        print("%s,company has %s employees" %(scale,self.count_person)



class company():
    def__init__(self,name,count):
        self.name=name
        self.count_person=count
 



if __name__ == '__main__':
    my_company=company("abc",800)
    company_scale=my_person,check()
    my_company.show(company_scale)

文件读写

f=open("datafile.txt","w")
f.write("this is a file which is writable in text mode")
f.write("do not go gentlely into that good night")
f.seek(6)
f.write("old age should burn abd rave at close of the day")
f.close()


f=open("datafile.txt","r")
sline1=f.readline()
sline2=f.readline()
print(sline1,sline2)
f.close()

 readline函数可以读取文件一行的内容,不停使用该函数,文件内容将会不断迭代至下一行,seek函数可以找到文本中某一位置并在该位置出进行操作。

全文内容的迭代

with open('title.txt') as f:
    while True:
        char=f.read(1)
        if not char:
            break
        process(char)

with open('title.txt') as f:可以更高效的打开文件,并不需要随时关闭文件夹。read(1)

表示每次读取一个字符串。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值