Python 初体验 之 面向对象

本文介绍了Python面向对象编程的基础概念,包括类的定义、对象的创建、成员变量与方法的使用,以及继承等特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

谈起面向对象,对于大部分程序员来说都是耳熟能详的玩意,这个面向对象编程说白了无非就是类和对象,方法和

成员变量,封装等等。Python作为一门面向对象的语言,肯定对于这些的支持是没问题,下面我们来说一下Python的面

向对象编程的问题。首先是Python的声明一个类然后创建一个对象,这个是最基本的玩意。代码如下

'''
Created on 2013-1-25

@author: Administrator
'''
class Person:
    def __init__(self,name):#相当于构造函数
        print("构造函数启动")
        self.name=name

    def sayHi(self):
        print("Hello World",self.name)
        
p = Person("rookie")
p.sayHi()
可以看到,其实声明一个类非常的简单,就是使用class关键字,然后对于这个init函数,其实就是相当于构造函数,

这个self指针是必须的,不管你的函数是否有参数,这个self都是必不可少的一个参数,主要原因是Python是一门动态

语言,支持类型的转变,所以必须知道自己的对象指向的类是谁,所以需要这个指针。下面我们再来说一下这个对象

的变量和函数的问题吧

'''
Created on 2013-1-25

@author: Administrator
'''
class Person:
    population=0
    
    def __init__(self,name):
        print("Person类正在实例化")
        self.name=name
        print("类名为",self.name)
        self.population += 1
    
    def __del__(self):#相当于C++里面的析构函数
        print("Person类正在析构",self.name)
        self.population -= 1
        
        if self.population == 0:
            print("I am the last One")
        else:
            print("There are still",self.population,"left")
            
    def sayHi(self):
        print("Hello World",self.name)
        
    def howMany(self):
        print("We have,",self.population,"Person Now")

swaroop = Person("swaroop")
swaroop.sayHi()
swaroop.howMany()

kalam = Person("kalam")
kalam.sayHi()
kalam.howMany()

swaroop.sayHi()

    

可以看到,声明成员函数和声明一个函数是一样的,而声明一个变量就是直接写上这个就行,更是无比的简单,下面

我们再来说一下这个继承的问题,先看一个简单的例子

'''
Created on 2013-1-25

@author: Administrator
'''
class SchoolMember:
    def __init__(self,name,age):
        self.name=name
        self.age=age
        print(self.name,"正在实例化")
        
    def tell(self):
        print("Name is",self.name,"and Age is",self.age)
        
class Teacher(SchoolMember):
    def __init__(self,name,age,salary):
        SchoolMember.__init__(self, name, age)
        self.salary=salary
        print("教师类正在实例化")
        
    def tell(self):
        SchoolMember.tell(self)
        print("工资为",self.salary)
t = Teacher("A",12,300)
t.tell()

这个继承主要就是在声明类的时候给一个元组就行,这貌似说明Python支持多重继承,呵呵。还有就是Python不能自

己主动的去调用父类的构造函数,必须是你自己去老实的调用父类的构造函数,然后对于这个父类的变量或者什么函

数的都可以直接使用父类的函数名或者变量名就可以直接调用了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值