广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python面向对象,类
  • 490
分享到

python面向对象,类

面向对象python 2023-01-31 02:01:49 490人浏览 独家记忆

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

摘要

1:类和对象    是面向对象中的俩个重要概念,类是对事物的抽象,比如人类,球类。对象是事物的实例,比如足球,篮球。球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球体出来。2:类的定义    类把需要的变量和函数组合成一起,这种

1:类和对象

    是面向对象中的俩个重要概念,类是对事物的抽象,比如人类,球类。对象是事物的实例,比如足球,篮球。球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球体出来。

2:类的定义

    类把需要的变量和函数组合成一起,这种包含称为“封装”。。classA(object):

3:类的结构

    class类名:

        成员变量-属性              ## 类的属性是对数据的封装

        成员函数-方法              ## 类的方法是对类的行为进行封装

    类的创建:

        class MyClass1(object):        ## 类名

            color = 'Black'          ## 类的属性-变量

           def fun(self):           ## 类的方法中必须有参数self,这是成员函数类的方法

                print "I am function"

#!/usr/bin/python
class People():
   color = 'yellow'             ## 成员变量
   def think(self):             ## 成员函数
       self.color = 'Black'     ## self表示类本身
       print 'I am a %s' % self.color
       print 'I am a thinker'
ren = People()                   ## 把类赋予一个变量,即实例化
print ren.color
ren.think()

4:类的属性

    公有属性:在类中类外都可以使用。

    私有属性:只能在类中使用,定义方式为__name(双下划线)

    内置属性:由系统定义类的时候默认添加的,由前后双下划线构成。__dict__,__module__。

#!/usr/bin/Python
class People():
   color = 'yellow'
   __age = 20
   def think(self):
       self.color = 'Black'
       print 'I am a %s' % self.color
       print 'I am a thinker'
       print self.__age   ## 私有函数,只能在类中使用
ren = People()
print ren.color
ren.think()
print ren._People__age     ## 仅测试使用,类外使用私有函数

5:类的方法相当于函数,类的属性相当于变量。

    方法的定义跟函数一样,但是需要self作为第一个参数。

        公有方法:跟公有属性一样,类内类外都可以使用

        私有方法:跟私有属性一样,只能类内使用。__self

        self:用来区分类跟方法,self本身表示类

        类方法:被claSSMethod编译过的函数,能被类所调用,也能被对象调用(继承的关系)

        静态方法:被staticmethod编译过的函数,可以被类直接调用,静态方法不需要设置self参数。

        装饰器:

            @classmethod:类方法

            @staticmethod:静态方法

6:对象的创建

    创建对象的过程称之为实例化:当一个对象被创建后,包含三个方面的特性:对象句柄,属性,方法。句柄用来区分对象。

    对象的属性和方法与类中的成员变量和成员函数相对应

    object=MyClass() ## 创建类的一个实例(对象),通过对象来调用方法和属性

#!/usr/bin/python
# coding:utf-8
class MyClass1(object):                   ## 类
   color = 'Yellow'                      ## 类的属性--变量
   __age = 20                            ## 类的私有属性,只能在类中使用
   @classmethod
   def __hide(self):                     ## 类的隐藏方法,只能在类中使用
       print "I am hidemethods!"
   @classmethod                          ## 装饰,对象和类都可以调用
   def fun(self):                        ## 类的方法--函数
       print self.__age                  ## self等同类,表示调用类的私有属性
       print 'This is function!'
   @staticmethod                         ## 装饰,对象和类都能调用,不需要self
   def fun1():                           ## 不需要self
       print MyClass1.color              ## 直接使用类调用类的属性或方法
       MyClass1.__hide()                 ## 调用类的隐藏方法
   class InsideClass(object):            ## 类中类,内部类
       Inside = 'Red'                    ## 内部类的属性
       @classmethod
       def InsideFun(self):              ## 内部类的方法
           print self.Inside
object = MyClass1()                       ## 对象,实例化类
object.fun()                              ## 对象调用类的方法
MyClass1.fun()                            ## 类调用类的方法
MyClass1.fun1()
object_inside = object.InsideClass()      ## 先调用外部类,再调用内部类
MyClass1.InsideClass.InsideFun()          ## 调用内部类的方法
print object_inside.Inside                ## 调用内部类的属性

7:内部方法(魔术方法)

    def __str__(self):               ## 如果直接实例化类,会返回__str__的值,而不是提示这样<对象>

       return "This is class object!"

   构造函数

    def __init__(self,c='Black'):       ## 初始化对象的属性,但不会改变类的属性

       self.color = c        

    析构函数

    def __del__(self):                         ## 主要用于释放资源,一般执行与脚本的最后

#!/usr/bin/python
class PeoPle(object):
   color = 'Black'
   def __init__(self,c):                         ## 初始化属性,c需要在实例化类的时候,跟在后面
       self.color = c
       print "Init runinng ......"               ## 只要把类实例化成对象,就会打印这行,
   def fun1(self):
       print "Color is: %s" % self.color
pe = PeoPle('Red')
print "Object print is: %s" %pe.color             ## __init__会影响对象的属性
print "Class print is: %s" %PeoPle.color          ## 类不会受__init__的影响

类的继承:

单类继承

#!/usr/bin/python
class PeoPle(object):
   color = 'Black'
   def __init__(self,c):                   ## 初始化参数
       self.color = c
       print "Init runinng ......"
   @classmethod                            ## 装饰方法,使其对象和类都可以调用
   def fun1(self):
       print "Color is: %s" % self.color
class MyClass(PeoPle):                      ## 继承父类PeoPle  
   color = 'MyClass'
   def __init__(self):
       PeoPle.__init__(self.'Red')         ## 表示继承父类的__init__构造函数。                      
   @classmethod
   def fun1(self):
      print "This is MyClass the function"
   pass
my=MyClass()                      ## 由于MyClass类中继承过PeoPle里的__init__参数。
print MyClass.color               ## 优先返回MyClass里的属性
my.fun1()                         ## 优先返回MyClass里的方法
PeoPle.fun1()                     ## 返回PeoPle里的fun1方法
MyClass.fun1()                    ## 返回MyClass里的fun1方法
pe = PeoPle('Green')              ## 由于PeoPle初始化__init__那里需要俩个参数,所以这里要加一个参数
print "Object print is: %s" % pe.color  ## 打印初始化后对象的属性即Green
print "Class print is: %s" % PeoPle.color  ## 打印类属性即Black

多类继承:

#!/usr/bin/python
class PeoPle(object):
   def __init__(self):
       self.dwell = 'Earth'
       self.color = 'Yellow'
   def think(self):
       print "I dwell am %s!" % self.dwell
class Chinese(object):
   color = 'Black'
   def __init__(self):
       self.dwell = 'China'
   def think(self):
       print "I am chinese %s " % self.color
class MyClass(Chinese,PeoPle):       ## 默认首先继续第一个类的属性跟方法                    
   def __init__(self):
       PeoPle.__init__(self)        ## 表示使用指定类的属性
   pass
my = MyClass()
my.think()                           ## 返回I am Chinese Yellow

类的属性---总结

  • 类属性(公有属性): 可以在类中使用,相当于变量。    

  • 类私有属性(私有属性): 只能函数中使用,无法被对象调用

  • 对象的公有属性: 对象可以调用

  • 对象的私有属性: 只能类中调用

  • 内置属性:

  • 函数的局部变量: 只能在本函数中使用

  • 函数的全局变量: 可以在类中所有的函数里使用

#!/usr/bin/python
# coding:utf8
val6 = "全局变量"
print '*' * 50
class My(object):
   val1 = "类的公有属性 val1"
   __val2 = "类的私有属性 __val2"
   def fun(self):
       self.val3 = "对象的公有属性 val3"
       self.__val4 = "对象的私有属性 __val4"
       val5 = "函数的局部变量,只能在本函数使用"
       global val6
       val6 = "函数的全局变量,可以在类中所有的函数中使用"
   def fun1(self):
       print val6
my = My()
print my.val1
print my._My__val2
my.fun()
print '*' * 50
my.fun1()

类的方法总结:

  • 公有方法:

  • 私有方法:

  • 类方法:

  • 静态方法:

  • 内置方法:

#!/usr/bin/python
#-*- coding:utf8 -*_
class MyClass(object):
   name = 'Warning'
   def __init__(self):
       self.fun1()
       self.__fun2()
       self.fun3()
       self.fun4()
   def fun1(self):
       print "%s %s" % (self.name,'我是公有方法')
   def __fun2(self):
       print "%s %s" % (self.name,'我是私有方法')
   @classmethod
   def fun3(self):
       print "%s %s" % (self.name,'我是类方法')
   @staticmethod
   def fun4():
       print "%s %s" % (MyClass.name,'我是静态方法')
my = MyClass()
my.fun1()                           ## 调用公有方法
MyClass.fun3()                      ## 调用类方法
MyClass.fun4()                      ## 调用静态方法,注意静态方法不需要self,与类方法的区别


--结束END--

本文标题: python面向对象,类

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

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

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

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

下载Word文档
猜你喜欢
  • python 面向对象、类、对象
    class 类 object 对象 object-oriented programming 面向对象,简称OOP attribute 属性 method 方法 inheritance 继承 python中通过类和对象来实现 ...
    99+
    2023-01-31
    面向对象 对象 python
  • python面向对象,类
    1:类和对象    是面向对象中的俩个重要概念,类是对事物的抽象,比如人类,球类。对象是事物的实例,比如足球,篮球。球类可以对球的特征和行为进行抽象,然后可以实例化一个真实的球体出来。2:类的定义    类把需要的变量和函数组合成一起,这种...
    99+
    2023-01-31
    面向对象 python
  • Python面向对象之类和对象
    目录类定义类定义类和属性类中方法对象方法(普通方法)类方法静态方法魔术方法对象创建对象对象属性总结 类 定义类 所有类名首字母要求大写,多个单词时遵循驼峰命名法 所...
    99+
    2022-11-12
  • Python面向对象之入门类和对象
    目录什么是面向对象编程?定义类,从具体代码来感受吧!多个类和对象的观察补充一下类的属性(数据部分)总结什么是面向对象编程? 我们是不是听过面向过程,拿来放在一起对比就比较好理解了。 ...
    99+
    2022-11-12
  • 面向对象的主要Python类
    本篇内容主要讲解“面向对象的主要Python类”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“面向对象的主要Python类”吧!对象可以使用普通的属于对象的变量存储数据。属于一个对象或Python...
    99+
    2023-06-17
  • python面向对象之类成员
    一、概述       上篇《python面向对象OOP》介绍了python面向对象的基础初级入门部分,提到了类的定义,使用,类的三大特性;经典类,新式类在查找时的区别等,有了前面的基础,本文接着描述面向对象中类成员;先整体描述下,类中的成员...
    99+
    2023-01-31
    面向对象 成员 python
  • python 面向对象之类方法
    类方法通过@classmethod装饰器实现,类方法和普通方法的区别是, 类方法只能访问类变量,不能访问实例变量举个例子class Dog(object):     def __i...
    99+
    2023-01-30
    面向对象 方法 python
  • python中面向对象_类_对象的概念与
    1. 面向对象的概念,面向对象是一种编程思想。 是对现实世界中一类事物的抽象,在编程中可以理解为是一种建立现实世界事物的模型     2.  面向对象和面向过程的区别: 面向过程关注的是完成工作的步骤。 面向对象关注的是谁能完成工作。 面...
    99+
    2023-01-30
    面向对象 对象 概念
  • Python入门之面向对象和类
    目录一、两大编程思想二、类与对象三、定义Python中的类四、对象创建五、类属性、类方法、静态方法六、动态绑定属性和方法七、面向对象的三大特征八、方法重写总结一、两大编程思想 二、...
    99+
    2022-11-12
  • python 面向对象之类的继承
    python中什么是继承:新类不必从头编写新类从现有的类继承,就自动拥有了现有类的所有功能新类只需要编写现有类缺少的新功能继承的好处:复用已有代码自动拥有了现有类的所有功能只需要编写缺少的新功能继承的特点:子类和父类是is关系python继...
    99+
    2023-01-30
    面向对象 python
  • Python面向对象的类和对象怎么使用
    这篇文章主要介绍“Python面向对象的类和对象怎么使用”,在日常操作中,相信很多人在Python面向对象的类和对象怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python面向对象的类和对象怎么使用...
    99+
    2023-06-22
  • python 面向对象
    面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序...
    99+
    2023-01-30
    面向对象 python
  • Python|面向对象
    #一、类、对象定义及使用 #定义类语法:class 类名(父类):代码块注意:()可有可无 #class Student: #class Student(): #创建对象(实例)语法:对象名=类名() 注意:Java语言在实例化对...
    99+
    2023-01-30
    面向对象 Python
  • python面向对象
    python面向对象 目录: 1.类的定义和使用 2.类的封装 3.类的继承 4.多态   1.类的定义和使用 查、增加、修改、删除、初始化方法、实例化 __init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这...
    99+
    2023-01-30
    面向对象 python
  • python - 面向对象
    #python面向对象 - 类定义   注意:特殊方法"__init__"前后分别有两个下划线!!!   __init__方法可以理解成定义属性的方法,编辑器中会默认将属性都绑定到self中,在使用时直接self.shuxing 即可哟;...
    99+
    2023-01-31
    面向对象 python
  • Python面向对象中类和对象的示例分析
    这篇文章主要介绍了Python面向对象中类和对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是面向对象编程?我们是不是听过面向过程,拿来放在一起对比就比较好理...
    99+
    2023-06-22
  • Python面向对象之面向对象基本概念
    面向过程和面向对象概念 过程和函数:过程类似于函数,只能执行,但是没有返回结果;函数不仅能执行,还能返回结果。 面向过程和面向对象 基本概念 面向过程-怎么做 把完成某一个需求的所有步骤从头到尾逐步实现; 根据开发需求,将某些功能独立的...
    99+
    2023-01-31
    面向对象 基本概念 Python
  • Python面向对象之为何要用类
      对于非程序员科班出身的技术人员,理解很多开发思想领域里面的事情,其实是一件挺痛苦的事情,直到接触到了Python当中的类,我才明白了什么是面向对象,更多的理解还是要通过实际的代码操练才能够慢慢的掌握。今天记录一下什么是面向对象,在Pyt...
    99+
    2023-01-31
    要用 面向对象 Python
  • Python面向对象进阶及类成员
    再次了解多继承先来一段代码#!/usr/bin/env python# _*_ coding:utf-8 _*_class A:    def bar(self):        print("BAR")        self.f1()c...
    99+
    2023-01-31
    进阶 面向对象 成员
  • python面向对象中类怎么实现
    这篇文章主要介绍python面向对象中类怎么实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作