龙空技术网

Python零基础一周学(9)——Python 中的类

蓝衫科技 156

前言:

目前同学们对“python 判断文件类型”可能比较重视,你们都想要学习一些“python 判断文件类型”的相关文章。那么小编在网上汇集了一些有关“python 判断文件类型””的相关文章,希望你们能喜欢,我们一起来了解一下吧!

学习大纲

学习目标

要达到的水平

第一个 Python 程序

会输出文字

变量类型初识

会创建字符串和数字这两种变量类型并学会数字运算的方法

条件语句

掌握三个关键字:if elif 和 else,并能用它们控制代码执行方向

常用的字符串操作

掌握对字符串进行切片,追加等操作

四大常用类型的操作

掌握这4种内置类型(list、tuple、dict 、set)的增删查改操作

循环语句

掌握 while 和 for 这两种循环方式

函数

掌握创建和调用函数的方法

文件操作

掌握文件的读写方法

掌握创建和使用类的方法

当前学习进展: 类

PS:本文转载自

@顺手牵羊

开始之前

本专栏下的代码绝大多数是 python 代码(除非特地说明),所以需要大家在学习之前安装一下 python 环境,如果没有安装的话,建议参考我之前特地写的一篇 python 及代码编辑器的安装教程

环境搭建

概要

之前有讲过,函数可以增加代码的健壮性以及可维护性,但是,如果函数多了,那么可能就没那么容易记了。在生活中,如果有一大堆文件,那么喜欢整理的人,往往会新建并对文件夹重命名,然后把同类型的文件归类在一起,经过这样子的分类之后,查找文件往往会更快。这也体现了物以类聚的思想。本篇文章将简述如何用类似的方法,对我们创建的多个函数进行归类。

正文

想必大家都知道 “人类”这个词吧,至于“人类的起源”咱们就不去探索了。人类往往有多个属性以及功能。例如年龄、性别、姓名、出生日期等属性,干饭、购物、睡觉等功能。下面将使用代码来对人类的部分属性以及功能进行简单的描述以让大家理解类是怎么创建以及调用的。

示例代码

# 以 class 关键字 + 类名(下面这个是叫Person)以创建一个类class Person:    def __init__(self, name: str = "", birthday="", gender="未知") -> None:        '''        进行一系列初始化操作        '''        # 初始化姓名        self.name = name        # 初始化性别        self.gender = gender        # 初始化生日        self.birthday = birthday        if len(name.strip()) == 0:            print('人类世界多了一个人,但他还没有姓名。')        else:            print(f'人类世界多了一个人,姓名是: {self.name} 性别是: {self.gender}')    def set_name(self, name: str) -> None:        '''        设置人的姓名        '''        self.name = name        print(f'我的名字变成了: {name}')​    def set_birthday(self, birthday: str)->None:        '''        设置人的生日        '''        self.birthday = birthday        print('我的父母记错了我的生日,现在我的生日被改成了:', birthday)​    def sleep(self, sleep_time: int)->None:        '''        休眠指定时间        '''        print(f'{self.name} 将休息 {sleep_time} 小时......')​    def eat(self, food_name: str)->None:        '''        吃东西        ---        参数:        food_name: 要被吃的东西名称​        '''        print(f'{self.name} 正在吃 {food_name}')​    def shop(self, shop_date: str, *items)->None:        '''        购物        ---        参数:        shop_date: 购物日期        items:可选参数,以逗号分隔可以传递多个        '''        print(f'{self.name} 在 {shop_date} 买了:', *items)​    def __str__(self) -> str:        '''        重写 __str__方法,描述人的基本信息        '''        destription = f'我的姓名是: {self.name}\n生日是: {self.birthday}\n性别是: {self.gender}'        return destription​    def go_to_school(self, school_name: str)->None:        '''        上学        ---        参数:        school_name: 学校名称        items:可选参数,以逗号分隔可以传递多个        '''        print(f"{self.name} 要去 {school_name} 上学了")​​# 实例化人类并定几个初始值p = Person(name="小明", birthday="2021年2月11日", gender="男")# 输创建的人的基本信息print(p)# 更改生日p.set_birthday('2021年2月8日')# 购物p.shop('202年2月16日', '苹果', '香蕉')# 吃东西p.eat('苹果')# 改名p.set_name('大明')# 休息p.sleep(8)# 上学p.go_to_school("魔法学院")​
示例代码运行结果
人类世界多了一个人,姓名是: 小明 性别是: 男我的姓名是: 小明生日是: 2021年2月11日性别是: 男我的父母记错了我的生日,现在我的生日被改成了: 2021年2月8日小明 在 202年2月16日 买了: 苹果 香蕉小明 正在吃 苹果我的名字变成了: 大明大明 将休息 8 小时......大明 要去 魔法学院 上学了
结构剖析创建方法描述

通过关键字class+类的名称+冒号+代码块

定义一个类示例代码

# 类名 Aclass A:    def __init__(self):        print('成功实例化类A')
调用类的方法
# 类名 + 一对圆括号A()
调用输出结果
成功实例化类A
类的继承必要性

假设你已经有了一个类,但是某一天你需要搞一个新的聚合,但是大部分要聚合的东西跟之前的差不多,如果重新写代码无疑是浪费精力的,所以有一个好办法就是继承原有的东西,然后在此基础上增加新的功能或改写旧的东西。

示例代码

class A:    def __init__(self):        print('成功实例化类A。')​    def eat(self):        print('我喜欢吃苹果。')​​class B(A):    def __init__(self):        print('我继承了了类 A,你成功实例化了我。')    # 在类 A 的基础上添加新的功能​    def new_function(self):        print('我有新功能了!')​​# 实例化类 Aa = A()# 调用 A 中的 eat 方法a.eat()b = B()# 尽管 B 中没有显示定义 eat 方法,但是因为它继承了A类,而A类中有 eat 方法,故其可以调用b.eat()b.new_function()​
示例代码运行结果
成功实例化类A。我喜欢吃苹果。我继承了了类 A,你成功实例化了我。我喜欢吃苹果。我有新功能了!
写在最后

本篇文章主要讲了怎么使用 Python 创建、调用、继承类,以进一步理解面向对象编程的思想,进一步增加代码的健壮性和可维护性。最后,我一直认为个人的思考难免有疏漏之处,所以欢迎各路英雄前来赐教!(未经同意,勿转载哦)

标签: #python 判断文件类型