python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python Class类说明

python中Class(类)的超详细说明

作者:炸膛坦客

这篇文章主要介绍了python中Class(类)的相关资料,Class类定义了具有相同属性和方法的对象集合,对象是类的实例,类变量在整个实例化的对象中是公用的,而实例变量是每个对象独有的,文中通过代码介绍的非常详细,需要的朋友可以参考下

Class 类

用来描述具有相同的属性和方法对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例

一个人(身高:一米八)要吃饭、喝水、睡觉;
一只老虎(体重:300斤)要奔跑、洗澡、捕猎。

一、名词定义

二、先睹为快

通俗举例:

#通俗举例:
定义一个人(男性)要吃饭、喝水、睡觉;
现在有个具体的人,他被赋予上述定义,所以他便是男人,会吃饭,会喝水,会睡觉。
#类名:一个人
#属性:男性
#方法:吃饭、喝水、睡觉
#对象:这个具体的人(赋予这个人相同的属性、方法的过程叫“实例化”)

三、详细解释

(1)self

(2)方法

def add(self,x,y) # add即为方法名,x和y为调用该函数需要输入的参数
    result=x+y

__init__

一种内置的方法,可称之为“构造方法”,初始化(Initialize的缩写)

前后各两个下划线

在实例化时,会自动调用,用来初始化自定义属性

__call__

一种内置的方法,前后各两个下划线。
这个内置方法,有点多此一举的感觉,不过有些妙用,需要慢慢体会…

该内置函数的作用是:
“实例可以直接当函数用,且其效果就是 __call__ 函数的效果”,此时, __call__ 函数的输入参数,就是实例的输入参数。
具体使用代码见下方运行程序结果:

class Calculator:             # Calculator:类名
    class_variable = "I am a class variable" # 这是一个类变量(固有属性)  
    name = 'Good calculator'  # name:类变量(固有属性)
    price= 18                 # price:类变量(固有属性)
                                                #*****************************
    def __init__ (self, hig, wid, wei):         #              *
        self.hight = hig      # hight:实例变量(自定义属性)      *
        self.width = wid      # width:实例变量(自定义属性)      *
        self.weight = wei     # weight:实例变量(自定义属性)     *
                                                #*****************************
    def __call__ (self, test_value):
    	print("Output is:" + str(test_value))

    def add(self,x, y):       # add():方法
        result=x+y            # result:局部变量
        print(result)
————————————————————————————————————————————————————————————————————————————————————————————
#先运行程序
>>> cal2 = Calculator(1,5,12) #实例化时,一定要给出自定义属性的内容
>>> cal2.name                 ----->'Good calculator'
>>> cal2(111)                 -----> Output is:111

多加一嘴:其余自命名方法(函数)的调用方式为 实例名.方法名() 。

(3)继承

就是先定义了一个 基准类,后面想再定义一个 派生类,该派生类想沿用基准类的属性和方法,这种沿用过程就叫“继承”。

子类(派生类 DerivedClassName)会继承父类(基类 BaseClassName)的属性和方法。

(4)方法重写

如果父类定义的方法的功能不能满足需求,则可以在子类重写父类的方法。

示例:

class Parent:        # 定义父类
   def myMethod(self):
      print ('调用父类方法')
 
class Child(Parent): # 定义子类
   def myMethod(self):
      print ('调用子类方法')
 
c = Child()          # 子类实例
c.myMethod()         # 子类调用重写方法
super(Child,c).myMethod() #用子类对象调用父类已被覆盖的方法
————————————————————————————————————————————————————————————————————————————————————————————
#输出结果为:
调用子类方法
调用父类方法

四、实例变量、局部变量、类变量的 GPT 解释

在Python的继承机制中,理解实例变量、局部变量、和类变量是非常重要的。这些变量在类及其对象中的作用域和生命周期各不相同。下面是对这些变量的详细解释:

总结 

到此这篇关于python中Class(类)的文章就介绍到这了,更多相关python Class类说明内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文