Python 初体验 之 面向对象

               

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

成员变量,封装等等。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不能自

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

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

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值