Python基础语法(下)

九、类

9.1  类的基本构成和含义

类,通常用于模拟一类事物。

类中通常可以包含许多属性,例如,模拟一类小狗。

class Dog:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def sit(self):
        print(f'{self.name} is sitting.')
my_dog=Dog('Willow',6)

这类小狗有姓名,年龄两属性,并可模拟小狗蹲下的动作。

其中方法init必不可少,它包含三个形参,self指向实例本身的引用,且会自动传递。所以当我们建立一只小狗的时候,不用传递参数self。

9.2 访问,调用和修改属性

访问属性,直接调用即可。

print(my_dog.name)
print(my_dog.age)
my_dog.sit()

修改属性的值,直接赋值即可。

my_dog.name="Cherry"
9.3 子类与父类

编写类,并不需要总是从空白开始编写。当我们想要编写一个类的特殊版,比如车中的新能源汽车,比如狗中的萨摩耶,这个时候我们需要新编写的类继承到原有类的一些属性。

例如,动物与狗。

# 父类
class Animal:
    def __init__(self, name):
        self.name = name

    def eat(self):
        print(f"{self.name}正在吃东西")

# 子类
class Dog(Animal):
    def __init__(self, name, breed):
        super().__init__(name)
        self.breed = breed

    def bark(self):
        print(f"{self.name}({self.breed})正在汪汪叫")

编写子类的过程,要对父类中包含的属性进行初始化,同时可以在此基础上增添新的属性。
此时再调用该类,进行创建。

# 创建实例并调用方法
my_dog = Dog("旺财", "拉布拉多")
my_dog.eat()  # 调用父类方法
my_dog.bark()  # 调用子类方法

子类可运用父类的功能。这种方法可极大程度简化了代码的编写。

而如果想要修改父类的属性,只需要在子类之下,用同名属性进行重新修改即可,这里不再赘述。

9.4 导入类

当编写一个复杂程序,为了让代码看上去更清晰容易分解,我们可能会用多个模块装载程序的每一部分。其中,用程序装载类,是常见的操作。

我们需要一些操作将这种类引用到主代码所在的模块或其他模块中。

导入方法与导入函数类似,这里不再赘述。

十、文件和异常

10.1.读取文件及方式

打开文件必须先读取文件。在与模块同一目录下创建文件,才可被直接读取。

with open('pi_digits.txt')as file_object:
    contents=file_object.read()
print(contents.rstrip())

 这样,python就可以直接读取数据并打印出来。

这种方式称为直接路径。

当所想打开的文件不在同一目录,就得使用绝对路径索引。

file_path='/home/ehmatthes/other_files/text_files/filename.txt'
with open(file_path) as file_object:

另外,同一目录下,也可以使用名字直接打开文件,并进行逐行读取。

file_name='pi_digits.txt'
with open(file_name) as file_object:
    for line in file_object:
        print(line.rstrip())
 10.2 写入文件和附加内容

 要将文本写入文件,调用open()函数的时候需要提供另一个实参,通过将输出写入文件。即使关闭终端窗口,这些输出也依然存在。可以再程序运行结束后查看这些输出。

file_name='programming.txt'
with open(file_name,'w') as file_object:
    file_object.write("I love programming.\n")
    file_object.write("Me too.\n")

此时打开txt文件,想要写的输出已经在里面自动保存过了。

结语:关于异常和测试的内容,由于专业性的问题,本专栏不再涉及。感兴趣的朋友可以自行学习。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值