• 技术文章 >Python技术 >Python高级

    python编程:面向对象与过程是什么?

    2020-10-28 11:44:00原创3264

    编程任何一个要素的学习都是基于更方便,更快捷,更效率而存在的,当然面向对象也一样,针对这部分知识,大家可以浏览以下内容,看完即懂。

    先来看一组示例:

    面向过程思维:把大象装进冰箱需要三步:

    【1】打开冰箱

    【2】把大象装进去

    【3】关闭冰箱

    面向对象思维:“万物皆对象”

    【1】你、大象、冰箱看成三个对象

    【2】你发送消息给冰箱,传递力的参数给冰箱的门,门打开

    【3】你传递消息给大象,大象响应消息,大象进冰箱

    【4】你发送消息给冰箱,传递力的参数给冰箱的门,门关上

    对象可以使用类的变量,属于对象或类的变量被称为域;对象也可以使用属于类的函数,这样的函数称为类的方法;域和方法可以合称为类的属性。它们分别被称为实例变量和类变量。类使用关键字class创建,类的域和方法被列在一个缩进块中。类的方法必须有一个额外的第一个参数,但是在调用时不为这个参数赋值,这个特殊变量指对象本身,按照惯例它的名称是self,类似Java中的this。

    但是Python 类的确有私有变量和私有方法之说,这个是一个例外,如果使用的数据成员以双下划线为前缀,则为私有变量。

    你实例化这个类,访问不了。这是很多人忽略 的,比如:

    class public():
        _name = 'protected类型的变量'
        __info = '私有类型的变量'
        def _f(self):
            print("这是一个protected类型的方法")    def __f2(self):
            print('这是一个私有类型的方法')    def get(self):
            return(self.__info)
    pub = public()# 先打印可以访问的print(pub._name)
    pub._f()####结果如下####protected类型的变量
    这是一个protected类型的方法# 打印下类 私有变量和私有方法print(pub.__info)
    报错:'public' object has no attribute '__info'pub._f2()
    报错:pub._f2()

    但是私有属性和方法可以在同一个类中被调用

    pub.get()#######'私有类型的变量'

    上面是很多人不知道的,下面,声明一个Person类

    class Person():
        Count = 0
        def __init__(self, name, age):
            Person.Count += 1
            self.name = name
            self.__age = age
        
    p = Person("Runsen", 20)
    
    print(p.Count)# 1 说明我实例化,这个__init__方法就要执行print(p.name) #Runsenprint (p.__age) 
    #AttributeError: Person instance has no attribute '__age'#私有变量访问不了,报错

    以上就是关于python面向对象和过程的介绍。感兴趣的小伙伴可以结合学习啦~如需了解更多python实用知识,点击进入PyThon学习网教学中心

    专题推荐:python编程面向对象
    上一篇:认识python中的数字 下一篇:如何在python数据挖掘使用pandas包?

    相关文章推荐

    • PyThon中time strftime()函数用法• PyThon编程入门:了解python format格式化函数的使用• python进制转换:十进制转二进制的用法• 了解python的join()方法用法及使用

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网