Python教程

Python笔记_5变量之面向对象类的总结

本文主要是介绍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目录版,如想获得请扫码关注右侧公众号自动获取

这篇关于Python笔记_5变量之面向对象类的总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!