Python是一门面向对象的编程语言。对象包含两个部分:数据(data)函数(function/method)函数对数据进行操作

类(class)

是对象的模板,用来描述具有相同的属性和方法的对象的集合。它包含了对对象操作的全部函数的代码。

创建类

创建类需要class语句,通常来讲,类名的首字母需要大写。下面是一个创建类的示例:

class Calculate:
    def __init__(self,num1,num2):
        self.num1=num1
        self.num2=num2
    def div(self):
        return self.num1/self.num2

cal=Calculate(255,286)
print(cal.div())
  • 绝大多数类都包含一个名为__init__的函数。这个特殊的函数叫做构造器(constructor),构造器会在用类创建对象时被自动调用。构造器一般被用来设定一些类的变量。在上面的示例中,构造器获取了括号内的两个变量——num1num2,并且用它们创建了两个类变量
  • 对于类里的所有函数,小括号内的第一个参数都必须是self。在每次读取类的变量时,都需要在变量名前加上selfself的功能是区分类中的变量和程序中的其他变量。
  • 用 ‘.’ 调用能对对象的函数。

示例:

class Strs:
    def __init__(self,string1,string2,iters):
        self.string1=string1
        self.string2=string2
        self.iters=iters
    def multiply(self):
        return self.string1*self.iters, self.string2*self.iters
    def adding(self):
        return self.string1+self.string2
str1=Strs('?',"idk",10)
print(str1.multiply(),str1.adding())


类的继承(Inheritance)

面向对象编程中,大量的代码可以通过继承机制进行重用。通过继承创建的类叫做子类,被继承的叫做父类

继承机制允许我们在一个类的基础上创建另一个类。

示例:

class Calculate:
    def __init__(self,num1,num2):
        self.num1=num1
        self.num2=num2
    def div(self):
        return self.num1/self.num2
class Math(Calculate):
    def __init__(self,num1,num2):
        self.num1=num1
        self.num2=num2
    def add(self):
        return self.num1+self.num2
e=Math(1,4)
print(e.div(),e.add)

创建子类的格式为:

class 子类名(父类名):
    #

在上面的示例中,Math类通过继承得到了Calculate类的div函数,同时在Calculate类的基础上,添加了add函数。在Python中一个子类可以继承多个父类,格式为:

class C(A,B):
    #


重写函数(Override)

在子类中所需的函数往往与父类不同的函数,重写函数可以更新父类函数的函数。重写函数需要在子类创建一个与父类相同名称的函数。

示例:

class Parent:
    def __init__(self, a):
        self.a = a
    def print_var(self):
        print("The value of this class's variables are:")
    print(self.a)
class Child(Parent):
    def __init__(self, a, b):
        Parent.__init__(self, a)
        self.b = b
    def print_var(self):
        Parent.print_var(self)
        print(self.b)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注