
python基础(六)、类的创建和调用方式
发布日期:2021-05-20 07:49:59
浏览次数:20
分类:精选文章
本文共 3397 字,大约阅读时间需要 11 分钟。
如何创建与使用Python类
在编程中,类是最强大的工具之一。通过定义类,我们可以将复杂的实物抽象为一系列属性和方法,从而模拟现实世界中的对象。在Python中,类的使用可以让我们的程序变得更直观、更高效。
一、创建类
1.1 类的基石
类的核心是通过class
语句定义,像这样:
class Dog: """模拟一个小狗的简单尝试""" def __init__(self, name, age): """类初始化方法""" self.name = name self.age = age def sit(self): """小狗蹲下""" print(f"{self.name.title()} is now sitting.") def roll_over(self): """小狗打滚""" print(f"{self.name.title()} rolled over!")
__init__
方法:这是一个特殊方法,用于初始化新实例时执行。每当我们使用Dog
类创建新实例时,Python都会自动调用__init__
方法。- 属性:即实例可以访问的变量,如
self.name
和self.age
。 - 方法:即可以通过实例调用的一系列操作,如
sit()
和roll_over()
。
1.2 创建实例
my_dog = Dog('Willie', 6)# 访问属性print(f"My dog's name is {my_dog.name.title()}.")print(f"My dog is {my_dog.age} years old.")# 调用方法my_dog.sit() # 输出: "Willie is now sitting."my_dog.roll_over() # 输出: "Willie rolled over!"
- 实例化:使用
Dog
类创建小狗实例my_dog
。 - 属性访问:通过
.
符号访问实例中的属性。 - 方法调用:通过
.
符号调用实例中的方法。
二、类与实例的使用
类的真正作用在于定义实物的行为和属性。通过实例化,我们可以获得具体的实例。比如,两个狗可以各自拥有不同的属性和行为:
my_dog = Dog('Willie', 6)your_dog = Dog('Lucy', 3)print(my_dog.name.title()) # 输出: "Willie"print(your_dog.age) # 输出: 3# 调用方法my_dog.sit()your_dog.sit() # 输出: "Lucy is now sitting."
三、类的继承
3.1 子类与父类
当我们需要为现有的类增加新的功能时,继承是最好的选择。例如,扩展一个默认的Car
类,创建一个专门用于电动汽车的ElectricCar
类:
class Car: """一个通用的汽车类""" def __init__(self, make, model, year): self.make = make self.model = model self.year = year self.odometer_reading = 0 def get_descriptive_name(self): """返回汽车的详细描述""" return f"{self.year} {self.make} {self.model}"class ElectricCar(Car): """电动汽车的具体实现""" def __init__(self, make, model, year): super().__init__(make, model, year) self.battery = Battery() def charge(self): """电动汽车充电""" print("This is an electric car. Charge it now!")
- 继承语法:
class ElectricCar(Car):
表示ElectricCar
继承自Car
。 - **
super()``函数**:用于调用父类的
init`方法。 - 子类特性:
ElectricCar
实例包含一个Battery
实例。
四、模块导入
将类组织到模块中,可以让代码更干净。例如,car.py
模块包含所有与汽车相关的类:
"""一个汽车相关的模块"""class Car: """汽车的基础类""" def __init__(self, make, model, year): self.make = make self.model = model self.year = year self.odometer_reading = 0 def get_descriptive_name(self): """返回汽车的详细描述""" return f"{self.year} {self.make} {self.model}"class Battery: """汽车电池类""" def __init__(self, battery_size=70): self.battery_size = battery_size def describe_battery(self): """描述电池容量""" print(f"This car has a {self.battery_size}-kWh battery.")class ElectricCar(Car): """电动汽车类""" def __init__(self, make, model, year): super().__init__(make, model, year) self.battery = Battery() def charge(self): """电动汽车充电""" print("This is an electric car. Charge it now!")
- 导入方式:
- 单个类导入:
from car import Car
- 导入多个类:
from car import Car, ElectricCar, Battery
- 导入模块内容:
import car
五、Python 标准库
Python 标准库为你提供了丰富的工具。例如,collections.OrderedDict
让你创建有序字典:
from collections import OrderedDict# 创建有序字典favorite_languages = OrderedDict()favorite_languages['jen'] = 'python'favorite_languages['sarah'] = 'c'favorite_languages['edward'] = 'ruby'favorite_languages['phil'] = 'python'# 遍历字典for name, language in favorite_languages.items(): print(f"{name.title()}'s favorite language is {language}.")
六、总结
通过类,你可以将复杂的逻辑封装到模块中,模块化代码让项目更易维护。继承则让你可以共享现有类的功能,节省开发时间。学会合理使用模块和标准库,将你的代码变得更高效、更专业。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年05月02日 11时49分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux静态库和共享库【转】
2023-02-05
Linux面试题总结
2023-02-05
Linux高手最常使用的五个快捷键,零基础入门到精通,收藏这一篇就够了
2023-02-05
linux高级技巧:heartbeat+lvs(二)
2023-02-05
linux高级数据存储
2023-02-05
Linux高阶知识:Linux 中的隐藏文件
2023-02-05
Linux(10):安装mysql5.7
2023-02-05
Linux(11):设置固定ip
2023-02-05
Linux(12):上传下载命令rz和sz
2023-02-05
Linux(13):压缩和解压缩命令
2023-02-05
Linux(14):端口的开放与管理
2023-02-05
Linux(1):文件和目录
2023-02-05
Linux(2):Linux命令概述
2023-02-05
Linux(3):Linux命令-文件管理
2023-02-05
Linux(4):Linux命令-用户、权限管理
2023-02-05
Linux(5):Linux命令-系统管理
2023-02-05
Linux(6):Linux网络命令
2023-02-05
Linux(7):VIM的使用
2023-02-05
Linux(8):安装JDK
2023-02-05
Linux(9):安装Tomcat
2023-02-05