iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python面相对象之类和对象
  • 670
分享到

python面相对象之类和对象

对象面相python 2023-01-31 00:01:51 670人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

  类和对象是python面相对象中两个重要的概念,类是客观世界中事物的抽象,而对象是类实例后的变量,比如汽车模型可以造出各种各样的汽车,汽车模型就是类,汽车就是汽车模型抽象出来的实例,这里有必要还有说一下方法,函数在类中叫方法,比如汽车

  类和对象是python面相对象中两个重要的概念,类是客观世界中事物的抽象,而对象是类实例后的变量,比如汽车模型可以造出各种各样的汽车,汽车模型就是类,汽车就是汽车模型抽象出来的实例,这里有必要还有说一下方法,函数在类中叫方法,比如汽车模型有个门的方法,下面定义了门的颜色、样式、大小,这里的颜色或者样式就是类的属性

  1. 类使用class来定义,类名首字母大写,来定一个水果的类:



     effect就是Fruit的类方法,类方法除非是静态方法或者动态方法,一般要有一个self的参数,当然self可以用其它的字符串代替,一般都写self

    类创建完后要实例化一个对象,实例化只有的对象才能访问effect这个方法



    banana就是Fruit实例化后的对象,执行effcet对象显示:


    注:test.py是上面脚本的名字

  2. 类的属性

      类有类属性和实例属性,类属性就是直接定义在类中的变量,直接可以通过类名.属性的方式来直接访问,实例属性是定义在方法下的变量(变量前加self,不是局部变量,后面会说),它先用实例调用方法,然后再用实例调用属性才能访问来访问,比如:



    执行结果为:



    那如果我想在effect里怎么调用va1的值呢,在方法中调用类属性需要加self或者类名,比如调用va1,则应该写成self.va1或者Fruit.va1,如果直接写变量名是调用的全局变量:


    #!/usr/bin/env Python
    #coding:utf-8
    va1="我是全局变量"
    class Fruit:
            va1='我是类属性'
            def effect(self):
                    self.va2="我是实例属性"
                    print va1
                    print self.va1
                    print Fruit.va1
    if __name__=="__main__":      #只被本脚本调用才执行下面代码
            banana=Fruit()
            banana.effect()




    执行结果为:


    root#python test.py
    我是全局变量
    我是类属性
    我是类属性



    还有一个点:实例属性中加上self.变量就变成了类的全局属性,如果不加self就是局部变量,只能被该方法调用:


#!/usr/bin/env python
#coding:utf-8
class Fruit:
        def effect(self):
                self.va2="加上self我就是全局属性,可以被其它方法调用"
                va3="我不加self是局部变量,只能被本方法调用"
                self.va4=va3  #把va3赋值给全局属性va4
        def aa(self):
                print self.va2
                print self.va4
                print self.va3
if __name__=="__main__":#只被本脚本调用才执行下面代码
        banana=Fruit()
        banana.effect() #必须先调用effect,否则下面aa调用不了va2,va4
        banana.aa()


执行结果会报错,因为va3不能调用,执行打印去va2和va4:


root#python test.py
加上self我就是全局属性,可以被其它方法调用
我不加self是局部变量,只能被本方法调用
Traceback (most recent call last):
  File "test.py", line 16, in ?
    banana.aa()
  File "test.py", line 11, in aa
    print self.va3
AttributeError: Fruit instance has no attribute 'va3'


3.  类的公有属性、私有属性和内置属性

 

 公有属性在类的内部和外部都可以访问到,私有属性只能在类的内部可以访问(有种漏洞方法可以访问,用于研发,下面例子有),公有属性和私有属性在命名上的区别为私有属性的名称前面有__(两个下划线):


#!/usr/bin/env python
#coding:utf-8
class aa:
        va1="我是公有属性 va1"
        __va2='我是私有属性 __va2'
        def bb(self):
                print self.va1
                print self.__va2
if __name__=="__main__":        #只被本脚本调用才执行下面代码
        cc=aa()
        cc.bb()
        print "#"*20
        print cc.va1
        print cc._aa__va2
        print cc.__va2



因为cc.__va2执行会报错,__va2是私有属性,不能在类的外面被调用,如果想在外面被调用需要写成实例._类名__私有属性,这种方式访问,执行结果为:


root#python test.py
我是公有属性 va1
我是私有属性 __va2
####################
我是公有属性 va1
我是私有属性 __va2
Traceback (most recent call last):
  File "test.py", line 16, in ?
    print cc.__va2
AttributeError: aa instance has no attribute '__va2'

--结束END--

本文标题: python面相对象之类和对象

本文链接: https://www.lsjlt.com/news/183069.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python面相对象之类和对象
      类和对象是python面相对象中两个重要的概念,类是客观世界中事物的抽象,而对象是类实例后的变量,比如汽车模型可以造出各种各样的汽车,汽车模型就是类,汽车就是汽车模型抽象出来的实例,这里有必要还有说一下方法,函数在类中叫方法,比如汽车...
    99+
    2023-01-31
    对象 面相 python
  • Python面向对象之类和对象
    目录类定义类定义类和属性类中方法对象方法(普通方法)类方法静态方法魔术方法对象创建对象对象属性总结 类 定义类 所有类名首字母要求大写,多个单词时遵循驼峰命名法 所...
    99+
    2022-11-12
  • Python面向对象之入门类和对象
    目录什么是面向对象编程?定义类,从具体代码来感受吧!多个类和对象的观察补充一下类的属性(数据部分)总结什么是面向对象编程? 我们是不是听过面向过程,拿来放在一起对比就比较好理解了。 ...
    99+
    2022-11-12
  • python 面向对象、类、对象
    class 类 object 对象 object-oriented programming 面向对象,简称OOP attribute 属性 method 方法 inheritance 继承 python中通过类和对象来实现 ...
    99+
    2023-01-31
    面向对象 对象 python
  • 8.python之面相对象part.3(
    在python这门编程语言中,一个类可以去继承一个父类甚至多个父类,只继承一个父类就是单继承,如果一个子类继承了多个父类,那么这就是多继承。原始类被称为“基类”(超类),继承了其他类的新式类被称为“子类”或“派生类”。一.如何实现类的继承。...
    99+
    2023-01-31
    面相 对象 python
  • python基础之面对对象基础类和对象的概念
    简称oop 复习 面向对象编程,简称oop [object oriented programming] 是一种python的编程思想 面...
    99+
    2022-11-12
  • Python入门之面向对象和类
    目录一、两大编程思想二、类与对象三、定义Python中的类四、对象创建五、类属性、类方法、静态方法六、动态绑定属性和方法七、面向对象的三大特征八、方法重写总结一、两大编程思想 二、...
    99+
    2022-11-12
  • python面向对象之类成员
    一、概述       上篇《python面向对象OOP》介绍了python面向对象的基础初级入门部分,提到了类的定义,使用,类的三大特性;经典类,新式类在查找时的区别等,有了前面的基础,本文接着描述面向对象中类成员;先整体描述下,类中的成员...
    99+
    2023-01-31
    面向对象 成员 python
  • python 面向对象之类方法
    类方法通过@classmethod装饰器实现,类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量举个例子class Dog(object):     def __i...
    99+
    2023-01-30
    面向对象 方法 python
  • python--初始面向对象:类的相关知识,对象的相关知识
    引子假设你是一个开发人员,现在需要你开发一款叫做当然很简单,两个角色,1个人物,1个boss,且人物和boss都有不同的技能,比如人物用觉醒技能秒了boss,掉了xx装备,boss用大招秒了人物,人物死亡,怎么描述这种不同的人物和他们的功能...
    99+
    2023-01-30
    相关知识 面向对象 对象
  • Java 面向对象 之 抽象类 abstract
    转载于 : http://www.verejava.com/id=16992804621647 public class TestAbstract {public static&n...
    99+
    2023-06-02
  • Python面向对象的类和对象怎么使用
    这篇文章主要介绍“Python面向对象的类和对象怎么使用”,在日常操作中,相信很多人在Python面向对象的类和对象怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python面向对象的类和对象怎么使用...
    99+
    2023-06-22
  • python面向对象,类
    1:类和对象    是面向对象中的俩个重要概念,类是对事物的抽象,比如人类,球类。对象是事物的实例,比如足球,篮球。球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球体出来。2:类的定义    类把需要的变量和函数组合成一起,这种...
    99+
    2023-01-31
    面向对象 python
  • python 面向对象之类的继承
    python中什么是继承:新类不必从头编写新类从现有的类继承,就自动拥有了现有类的所有功能新类只需要编写现有类缺少的新功能继承的好处:复用已有代码自动拥有了现有类的所有功能只需要编写缺少的新功能继承的特点:子类和父类是is关系python继...
    99+
    2023-01-30
    面向对象 python
  • Python面向对象之面向对象基本概念
    面向过程和面向对象概念 过程和函数:过程类似于函数,只能执行,但是没有返回结果;函数不仅能执行,还能返回结果。 面向过程和面向对象 基本概念 面向过程-怎么做 把完成某一个需求的所有步骤从头到尾逐步实现; 根据开发需求,将某些功能独立的...
    99+
    2023-01-31
    面向对象 基本概念 Python
  • Python面向对象中类和对象的示例分析
    这篇文章主要介绍了Python面向对象中类和对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是面向对象编程?我们是不是听过面向过程,拿来放在一起对比就比较好理...
    99+
    2023-06-22
  • python对象和类
    #coding:utf-8 #1、对象是一个有着相应行为的数据的集合 #2、在面向对象建模中,用于各种描述对象的属于叫做类 #3、类和对象的区别:类描述了对象,是创建对象的模板 #4、关联是把两个类联系起来最基本的方式 #5、一个类可以通...
    99+
    2023-01-31
    对象 python
  • python 类和对象
    一.编程范式1.面向对象编程;2.面向过程编程;3.函数式编程二.面向对象设计面向对象设计:将一类具体事物的数据和动作整个到一起;1.我们都学过函数,那么使用函数该怎么实现面向对象设计呢?如下图所示:代码部分:#面向对象设计:就是将同一类具...
    99+
    2023-01-31
    对象 python
  • Python面向对象之为何要用类
      对于非程序员科班出身的技术人员,理解很多开发思想领域里面的事情,其实是一件挺痛苦的事情,直到接触到了Python当中的类,我才明白了什么是面向对象,更多的理解还是要通过实际的代码操练才能够慢慢的掌握。今天记录一下什么是面向对象,在Pyt...
    99+
    2023-01-31
    要用 面向对象 Python
  • python中面向对象_类_对象的概念与
    1. 面向对象的概念,面向对象是一种编程思想。 是对现实世界中一类事物的抽象,在编程中可以理解为是一种建立现实世界事物的模型     2.  面向对象和面向过程的区别: 面向过程关注的是完成工作的步骤。 面向对象关注的是谁能完成工作。 面...
    99+
    2023-01-30
    面向对象 对象 概念
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作