Python笔记_5变量之面向对象类的总结
前言导读
本章收录了类的功能,以前看过很多版本讲的类的功能,都没有看懂
后来看到一篇文章写的很好,于是乎就看懂了,然后就整理好收录在这里
一 类的完整格式
# 创造一个种类一个框架:构造类中的各种元素
class 类:
#1 构造_类属性
类属性1 = '这就是类属性1'
类属性2 = '这就是类属性2'
#2 构造_初始化方法
def __init__(self, 实例属性1, 实例属性2, 实例属性3):
#3 构造_实例属性
self.实例属性1 = 实例属性1
self.实例属性1 = 实例属性1
self.实例属性1 = 实例属性1
#4 构造_实例方法(同类)
def 实例方法1(self):
print('这就是实例方法')
print(self.实例属性1)
def 实例方法2(self):
print('这就是实例方法')
print(self.实例属性1)
def 实例方法3(self):
print('这就是实例方法')
print(self.实例属性1)
#5 构造_类方法
@classmethod
def 类方法(cls) # cls类方法的第一个参数,固定格式
print('这就是类方法')
二 实例化类创建对象
# 第二步根据这个种类的框架制作不同款式的东西:实例化对象
#1 构造对象1
对象1 = 类(111, 222, 333)
#2 构造对象2
对象2 = 类(444, 555, 666)
三 调用类和对象
# 第三步使用制作出来的东西的各种功能实现目的
#1 调用_类属性
类.类属性
#2 调用_实例属性
对象1.实例属性1()
#3 调用_实例方法
对象1.实例方法1
#4 调用_类方法
类.类方法
四 类的解析
#一 类元素解释:
1 类的属性:在类内部定义变量
2 类的方法:在类内部定义函数
3 类的对象: 在类外部定义对象
4 类的调用: 在类外部定义调用
#二 方法和函数的区别
1 面向过程叫函数,面向对象叫方法
2 函数依赖于模块,模块之间可以调用
3 方法依赖于类,通过对象调用
#三 类中属性种类:
1 类属性:类中直接定义的变量(固定值)
2 实例属性:'初始化方法'中定义的变量(可传递值)
3 两者区别:类属性的值一直不变,实例属性的值根据对象中的赋值改变
#四 类中方法的种类:
1 初始化方法:在方法内部定义类的'内部共享和外部传递的_参数'
2 实例方法:在类内部定义的各种函数,'共享初始化方法中定义的参数'
3 类方法:类名直接调用的方法
#五 类和函数的使用区别
1 当我们拥有一堆`共享状态的函数`,或者将`相同的参数传递给每个函数`时,我们可以重新考虑代码使用类。
2 类的“可重用性”意味着我们可以在其他应用程序中重用之前的代码。如果我们在自己的文件中编写了类,则只需将其放在另一个项目中即可使其工作。
3 函数对于小型项目非常有用,但是一旦项目开始变大,仅使用函数就可能变得混乱。类是组织和简化代码的一种非常好的方法
4 通常,如果在函数内部找到自写函数,则应考虑编写类。如果我们在一个类中只有一个函数,那么请坚持只写一个函数。
5 如果需要在函数调用之间保留一些状态,那么最好使用带有该函数的类作为方法
五 静态类(没有参数)
class 类1:
def 方法1(self): # 没有参数的类,不需要定义__init__方法和其中的属性
return 'hello world' # 因为没有参数传递,因此方法中的信息要打印出来需要使用'return'
对象 = 类()
print(对象1.属性1) # 打印对象中的属性(变量)
print(对象1.方法1()) # 打印对象中的方法(函数)
六 父子类
#一 类的继承:多个子类继承一个父类
class 父类:
def 父类方法(self):
print('这是父类')
class 子类(父类):
pass
# 在子类的对象中调用父类的方法
对象2 = 子类()
对象2.父类方法()
"""一类和多类的共享关系
# 一个类中变量的共享
初始化方法中定义的'实例属性':共享给类中其他'实例方法'使用
# 父子类中函数的共享
父类中的'实例方法',共享给其他子类作为'实例方法'调用
"""
"""父子类中的init方法
子类中有自己定义的init方法,不会调用父类的init方法
父类中init中的变量不会继承给子类
可以使用super()函数在子类中调用父类的init方法
"""
"""成员继承
子类可以继承父类中定义的:类属性,实例属性,类方法,实例方法,静态方法
"""
#二 类的重写
class 父类:
def 父类方法(self):
print('这是父类')
class 子类(父类):
def 父类方法(self):
print('重写父类方法')
# 在子类中重写父类的方法后,再次调用相同名称的方法结果改变
对象2 = 子类()
对象2.父类方法()
#三 多重继承:多个父类被一个子类继承
class 父类1:
def 父类方法(self):
print('这是父类')
class 父类2:
def 父类方法(self):
print('重写父类方法')
class 子类(父类1,父类2):
def 父类方法(self):
print('重写父类方法')
对象 = 子类()
对象.父类方法
(本章完)
所有资源均有PDF目录版,如想获得请扫码关注右侧公众号自动获取

浙公网安备 33010602011771号