Python之面向对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之面向对象相关的知识,希望对你有一定的参考价值。

面向对象简介

面向对象需要有两个东西:类(类中必须有self参数)和对象

C#,Java都只是面向对象编程,Python是面向函数编程和面向对象编程;面向函数编程和面向对象编程各有各的方便;

例如;

class Foo:  # 定义一个名为Foo的类
    def main(self):  # 定义一个main方法
        pass
调用:
1、创建对象,类名()
obj = Foo()  创建一个obj对象
2、通过对象去执行方法
obj.main(arg)

如何创建类和对象

•创建类:

class 类名:
    def 方法名(self, xxx):
        pass

•创建对象:

对象名 = 类名()

•通过对象调用方法:

对象名.方法名(参数)    # self是python自己定义的,不要管

面向对象详细开讲

•面向对象的使用场景:当不同的函数使用相同的参数时,把这些相同的参数封装在一起

•类创建对象后,对象内部会存在一个类对象指针指向创建它的那个类

例如:

class Foo:
    def f1(self):  # 把obj当做参数传给参数self,self就是obj
        print(self.name)
    def f2(self):
        pass
    def f3(self):
        pass
obj = Foo()
obj.name = alex  # 把值封装在对象中,在方法中使用的时候就去对象里面找
obj.password = 1234  # 把值封装在对象中,在方法中使用的时候就去对象里面找
obj.f1()
alex  # 输出

•__init__方法(构造方法):

类名后面加上括号会默认执行类中的__init__方法

class F1:
    def __init__(self):
        print(alex)
f1 = F1()
alex  # 输出

•面向对象的三大特征:封装、继承、多态

•封装

class C1:
    def __init__(self, name, sex):
        self.name = name
        self.sex = sex
class C2:
    def __init__(self, name, age):
        self.name = name
        self.age = age
s1 = C1(alex, woman)
s2 = C2(eric, C1)  # 对象里面可以封装任何东西,包括对象
print(s2.age)
<class __main__.C1>  # 输出

 

以上是关于Python之面向对象的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

PHP面向对象之选择工厂和更新工厂

python基础之面向对象

Python之面向对象:面向对象基础

python之面向对象编程一