
python3基础梳理09python面向对象
发布日期:2021-05-08 13:19:03
浏览次数:28
分类:精选文章
本文共 1674 字,大约阅读时间需要 5 分钟。
Python 面向对象编程基础知识
目录
- 类的概念
- 类的实例化或对象
- 类的属性
- 类与类之间的关系
类的概念
类可以看作是一种模板,用于描述具有共同特性的对象。例如,动物类可以包括狗、猫、鸟等。类似于现实生活中的抽象概念,它为实例提供了共同的属性和方法。
类的实例化或对象
具体的某个事物具有自己的特性,可以理解为类的一个实例。例如,狗类中的“小明”或“花朵”类中的“红玫瑰”。
类的属性
类的属性分为变量属性和方法属性。变量属性通常是名词,如DOG类中的“Breed”、“Size”、“Age”、“Color”。方法属性通常是动词,如DOG类中的“Eat”、“Sleep”、“Sit”、“Run”。
类与类之间的关系
类与类之间可以通过继承、扩展、重写等方式建立联系。继承:子类直接从父类继承属性和方法。扩展:子类可以定义父类未有的属性和方法。重写:子类可以覆盖父类的属性和方法。
自定义类
创建自定义类需要使用Python的类语法。语法格式如下:
class 类名(): # 类名首字母大写 """类说明文档""" def 方法名(self): """方法说明文档""" pass
例如,创建一个Dog类:
class Dog(): """模拟小狗""" def __init__(self, name, age): """定义Dog类的变量属性name, age""" self.name = name self.age = age def sit(self): """模拟小狗坐下的sit方法""" print(self.name.title() + " is now sitting.") def roll_over(self): """模拟小狗打滚的roll_over方法""" print(self.name.title() + " rowlled over!")
创建类实例
使用类名加上参数来创建实例:
my_dog = Dog("小明", 3)
调用类变量属性
通过实例访问类的变量属性:
print("我的狗的名字是 " + my_dog.name.title() + ".")print("我的狗是 " + str(my_dog.age) + "岁。")
调用类方法属性
通过实例调用类的方法:
my_dog.sit() # 调用sit方法my_dog.roll_over() # 调用roll_over方法
类的查看操作
可以通过以下方式查看类的信息:
dir(类名)
:返回类属性和方法列表类名.__dict__
:存储类变量属性的字典类名.__name__
:类的名字类名.__doc__
:类的说明文档类名.__base__
:类的第一个父类类名.__bases__
:类所有父类构成的元组类名.__module__
:类定义所在的模块类名.__class__
:实例对应的类
类的使用
类编写好后,接下来的工作都是在创建类实例上。可以通过实例的属性和方法进行操作,或者编写新的方法来修改属性。
面向对象的三大共性
面向对象编程的核心特性包括多态、继承和封装。
继承
继承的作用是避免代码重复。子类可以从父类继承属性和方法,同时可以定义自己特有的属性和方法。
封装
封装的作用是将复杂的对象抽象成类,便于操作和管理。
多态
多态的作用是让同一个类的实例可以表现出多种不同的行为。例如,通过重写方法使同一个类的实例能够执行多种操作。
导入类
将类存储在模块(.py文件)中,然后在主程序中导入所需的模块。
导入单个类
from car import Car, ElectricCar
导入整个模块
import car
导入模块中的所有类
from car import *
参考资料
《Python编程:从入门到实践》
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月05日 12时38分04秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
除了方文山,用TA你也能帮周杰伦写歌词了
2019-03-06
关于GO语言,这篇文章讲的很明白
2019-03-06
华为云FusionInsight湖仓一体解决方案的前世今生
2019-03-06
大数据处理黑科技:揭秘PB级数仓GaussDB(DWS) 并行计算技术
2019-03-06
C++调用Go方法的字符串传递问题及解决方案
2019-03-06
云原生2.0时代下,DevOps实践如何才能更加高效敏捷?
2019-03-06
技巧收藏|10个JavaScript常用数组操作方法
2019-03-06
两种端到端通用目标检测方法
2019-03-06
云小课 | 守护网络安全不是问题,iptables的四表五链为你开启“八卦阵”
2019-03-06
LiteOS内核源码分析:任务栈信息
2019-03-06
23种设计模式之迭代器模式
2019-03-06
23种设计模式之组合模式
2019-03-06
mysql zip安装
2019-03-06
mysql修改密码
2019-03-06
virtualbox中 Kali Linux安装增强功能
2019-03-06
virtualbox中 Ubuntu挂载共享文件夹
2019-03-06
Python 内置函数笔记
2019-03-06
BootStrapTable 错误
2019-03-06
PHP 配置文件
2019-03-06
PHP 脚本不报错
2019-03-06