1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
      <output id="hzk7v"></output>
    2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
    3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

      Python面向对象思想与应用入门教程类与对象

       更新时间2019年04月12日 10:49:11   作者微信1257309054   我要评论

      这篇文章主要介绍了Python面向对象思想与应用,较为详细的分析了Python面向对象思想与原理,并结合实例形式分析了类与对象相关定义用法及操作注意事项,需要的朋友可以参考下

      本文实例讲述了Python面向对象思想与应用分享给大家供大家参考具体如下

      面向对象思想

      1面向对象的设计思想

      面向对象是基于万物皆对象这个哲学观点

      2面向对象和面向过程的区别

      面向过程

      在生活中:
      它是一种看待问题的思维方式,在思考问题的时候,着眼问题是怎样一步一步解决的,然后亲力亲为去解决问题[类似于公司里的执行者]
      在程序中:
      ​ 代码是从上而下顺序执行,各个模块之间的关系尽可能简单,在功能上相对独立,程序的流程在写程序的时候就已经决定

      面向对象

      在生活中:
      它是另一种看待问题的方式,它着眼于找到一个具有特殊功能的个体,然后委托这个个体去帮你完成某件事.这更符合人类思考习惯的思想[指挥者]
      在程序中:
      把数据以及对数据的操作方法放在一起,作为一个相互依存的整体C对象
      把同类的对象进行抽象出其共性,形成类
      类中大多数数据,只能用本类的方法进行处理
      类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信
      程序执行的流程由用户在使用的过程中决定
      使用面向对象思想进行开发,需要?#26085;?#21040;具有所需功能的对象?#35789;?#29992;,如果这个对象不存在,那么则需要创建这么一个具有所需功能的对象
      注意:面向对象只是一种思想,并不是一门编程语言

      区别总结

      a. 都是看待问题的一种思维方式,都能解决问题
      b. 面向过程着眼于所有的事情亲力亲为
      c. 面向对象着眼于找到一个具有特殊功能的对象,委托这个对象实现你需要实现的功能

      python语言是面向对象的程序设计语言,类和对象是面向对象的核心

      类和对象

      1类和对象的概念

      类:一个具有特殊功能的实体的集合[群体]

      对象:在一个类中,一个具有特殊功能的实体,能够帮忙解决特定的问题,对象通常也被称为实例

      两者之间的关系:类用于描述某一对象的共同特征,而对象则是类的具体存在

      举例:

      学生 张三李四
      快递 顺丰韵达

      总结:

      类与对象的关系

      a.类是对象的抽象,对象是类的具体体现
      b.类也是一种数据类型,只不过是自己定义的类似与number,string等,它本身并不占用空间,但是它的实例[对象]是占用空间的

      2类的定义

      格式:

      class 类名(object):
      ​ 类体
      
      

      说明:

      a.python中使用class关键字定义类

      b.类名只要是一个合法的标识符即可,命名规则遵循大驼峰式命名每个单词的首字母大?#30784;?/p>

      c.尽量使用单个或者多个有意义的单词连接而成

      演示

      # 一个简单的类的实例
      class Person():
        print("hello")
      
      

      3类的设计

      只需要关心3样东西

      1.事物名称[类名]: 如人类 (Person)
      2.特征(属性): 如身高(height) 年龄(age)等 >名词
      3.行为(方法): 如跑(run) 说话(say) >动词

      类中的方法和属性

      1方法和属性的定义

      生活中描述事物的无非就是描述事物的特征和行为

      python中用类来描述事物也是如此,前面已经定义了类,但是,如果只有类单独存在,没有任何意义,所以定义类其实就是定义类中的成员[成员变量?#32479;?#21592;方法]

      在类中的变量我们称之为成员变量在类中的方法我们称之为成员方法(函数)

      成员变量>类具有的特征 例如:人>身高,性别,体重

      成员方法 >类具有的行为 例如人>吃喝玩乐

      因此,拥有相同的(或者类似)属性和行为的对象都可以抽取出一个类

      class Persion():
        #成员变量,初始值就是相当于默?#29616;?
        name = ""
        age = 0
        height = 0
        weight = 0
        #成员方法
        #在类的内部,使用def关键字来定义的一个方法
        #注意:区别于普通方法,类中方法的参数必须包含参数self,且为第一个参数
        #self代表类的实例(某个对象)
        def run(self):
          print("run")
        def eat(self, food):
          print("eat",food)
        def sleep(self):
          print("sleeping")
      
      

      说明:定义了类,并在类中定义了成员变量?#32479;?#21592;方法,但是成员变量?#32479;?#21592;方法是如?#38382;?#29992;的呢?

      2方法和属性的使用

      2.1实例化对象:

      前面说过,对象是实实在在的个体,负责去完成某件指定的事情

      对象的创建的过程又被称作对象的实例化过程

      语法:

      对象名 = 类名()

      '''
      实例化对象
      格式: 对象名 = 类名()
      注意: 没有参数的时候,小括号也不能省略
      '''
      #实例化一个对象
      pre1 = Person()
      print(pre1)
      print(type(per1))
      print(id(per1))
      per2 = Person()
      print(per2)
      print(type(per2))
      print(id(per2))
      
      

      3对象调用方法和属性

      per = Preson()
      '''
      访问属性
      格式:对象名.属性名
      赋值:对象名.属性名 = 新值
      '''
      per.name = 'lili'
      per.age = 18
      per.height = 160
      per.weight = 80
      print(per.name, per.age, per.height, per.weight)
      '''
      访问方法
      格式:对象名.方法名(参数列表)
      '''
      per.run()
      per.eat("apple")
      per.sleep()
      #问题:目前来看Person创建的所有对象属?#36828;?#26159;一样的
      per2 = Person()
      print(per2.age)
      per3 = Person()
      print(per3.age)
      
      

      总结:

      访?#26102;?#37327;采用: 对象名.属性名
      访问方法采用: 对象名.方法名(参数列表)

      4内存中的对象

      per = Person()
      
      

      说明:程序中定义Person类型的变量per实际是一个变量名,它被存放在栈内存中,它指向实际的Person对象,而真正的Person对象则存放在堆内存中

      综合练习:

      第一天开学,介绍一下你自己其中包括姓名,年龄以及爱好

      #学生类
      class Student():
        #特征:成员变量
        self.name = ""
        self.age = ""
        self.hobby =""
        def introduce(self,name, age, hobby):
          print("大家好,我是%s,今年%d岁,爱好是%s"%(name,age, hobby))
        def singsong(self):
          print("娘子~啊哈")
        def dance(self):
          print("广场舞跳起来...")
        def lie(self):
          print("我家特别穷,我小时候就一直在放牛,只有几万头....")
      # 类实例化
      stu = Student()
      # 成员方法调用
      stu.introduce('ldc',18,'跑步')
      stu.singsong()
      stu.dance()
      stu.lie()
      
      

      输出

      大家好,我是ldc,今年18岁,爱好是跑步
      娘子~啊哈
      广场舞跳起来...
      我家特别穷,我小时候就一直在放牛,只有几万头....

      如何查看所有属性和方法

      class Test():
        def __init__(self,name):
          self.name = name
        def test(self):
          print('testing...')
      test = Test('测试')
      # 查看所有属性和方法
      list1 = dir(test)
      # 检查实例是否有这个属性
      print(hasattr(test, 'name'),hasattr(test, 'test'),hasattr(test, 'tt'))
      # 设置属性值
      setattr(test,'name','测试2')
      # 获取属性值
      print(getattr(test, 'name'))
      
      

      输出

      True True False
      测试2

      更多关于Python相关内容?#34892;?#36259;的读者可查看本站专题Python面向对象程序设计入门与进阶教程Python数据结构与算法教程Python函数使用技巧总结Python字符串操作技巧汇总Python编码操作技巧总结Python入门与进阶经典教程

      希望本文所述对大家Python程序设计有所帮助

      相关文章

      最新评论

      3dԻв

        1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
          <output id="hzk7v"></output>
        2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
        3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>

            1. <output id="hzk7v"><pre id="hzk7v"><address id="hzk7v"></address></pre></output>
              <output id="hzk7v"></output>
            2. <nav id="hzk7v"><i id="hzk7v"><em id="hzk7v"></em></i></nav>
            3. <listing id="hzk7v"><delect id="hzk7v"><em id="hzk7v"></em></delect></listing>