概述
面向对象是python中一个重点知识,用面向对象的思想编程,有利于模块化代码,方便阅读和后期的维护。
文章目录
- 1.1-基本介绍
- 1.2-构建类的思路
- 1.3-init 初始化函数
- 1.4-常见方法
1.1-基本介绍
-
面向过程:注重解决问题的步骤,让问题根据步骤流程一步一步得到解决
面向对象:万物皆对象,每个对象都有特征和功能,对象间又可以相互作用 -
类:具有相同特征或行为的事物的统称(抽象的,不可直接使用)
对象:对象是由类创建出来的具体存在,可以直接使用 -
三大特征
-
封装:把对象的属性和方法封装成类
-
继承:子类继承父类,子类拥有父类的属性和方法。实现代码重用,相同代码不需要重复写
-
多态:当父类的属性和方法不满足子类调用时,子类可重写父类的属性和方法
-
新式类和旧式类
继承自object的类为新式类,其他为旧式类,object为所有类的基类
python 2.x 继承基类需 写 class A(object):
python 3.x 默认继承object,可不写,即 class A:
但想程序在python任何版本都能运行最好都写object
-
常见术语
类属性,实例属性,实例方法,类方法,静态方法
class A(object):
# 1.类属性
a = 0
def __ini__(self, name):
# 2.实例属性
self.name = name
# 3.实例方法
def test(self):
pass
# 4.类方法
@classmethod
def test(cls):
pass
# 5.静态方法
@staticmethod
def test():
pass
1.2-构建类的思路
-
根据动名词提取,动词一般是方法,名词一般是属性
-
实例方法:方法内部需要访问实例属性
-
类方法: 方法内部 只 需要访问类属性
-
静态方法:方法内部不需要访问,类属性和实例属性
-
例如:一个方法既要访问类属性,也要访问实例属性,就可以定义一个实例方法
1.3-init 初始化函数
- 实例化:创建了一个该类的对象(实例)的过程:
(1)为对象分配储存空间,储存对象的属性和方法
(2)为对象初始化,实例化过程会自动执行init方法
class Person:
def __init__(self, name, age): # 初始化,对生成的实例配置属性(name,age)
self.name = name # self 为当前正在创建的实例本身
self.age = age
t = Person(‘tom’,20)
实例化过程:“=”右边先执行,Person(‘tom’,20) 创建出一个实例,此时self就是当前这个实例,__init__函数对该实例进行属性配置(配置name,age这也叫初始化过程),配置完成后,该具备属性的实例 赋值给 t
1.4-常见方法
-
dir(对象) 就可以查看对象的属性和方法
list = [1,2,3,4,5,6] # 查看对象的方法或属性,__方法名__ 为内置方法 dir(list) >>> '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', .....
-
str方法
# 如果想用print输出对象变量时,能够打印自定义内容,可利用__str__ # 否则直接print只能获得对象的储存地址 class Cat: def __init__(self, name): self.name = name def __str__(self): # 必须返回字符串 return "我来了%s"%self.name tom = Cat("tom") print(tom) >>> 我来了tom
最后
以上就是丰富大碗为你收集整理的python面向对象(一)- 面向对象基础的全部内容,希望文章能够帮你解决python面向对象(一)- 面向对象基础所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复