您的位置:首页 > 编程语言 > Python开发

Python3学习八之类

2016-10-22 15:09 204 查看
Python3学习八之类

Python也是一门面向对象的语言,先说一下面向对象的特征:


类变量
数据成员
方法重写
实例变量
继承
实例化
方法
对象
Python3的面向对象
类定义
class ClassName:
...
访问类属性可以通过实例化类或者直接用类名访问,类方法的定义第一个参数必须为self,self的功能相当于java中的this如:
# -*- coding: utf-8 -*-
class Calculate:
def sum(self,x,y):
print("The sum is ",x+y)
def multi(self,x,y):
print("The Muti is ",x*y)
def divi(self,x,y):
try:
print("The division is ",x/y)
except ZeroDivisionError as err:
print("ZeroDivisionError: division by 0")

cal = Calculate()
cal.divi(1,0)
cal.multi(2,3)



定义构造方法
def __init__(self):
.....

继承
<span style="font-size:14px;">class DerivedClassName(BaseClassName1):
....</span>
举个例子说明一下继承
# -*- coding: utf-8 -*-
class person:
name = 'kexin'
age = 18
gender = 'girl'
def __init__(self,name,age,gender):
self.name = name
self.age = age
self.gender = gender
def intro(self):
print("I am %s,I am a %d-years-old %s"%(self.name,self.age,self.gender))

class student(person):
grade = 1
def __init__(self,n,a,g,grade):
person.__init__(self,n,a,g)
self.grade = grade
def intro(self):
print("I am %s,I am a %d-years-old %s and I am in class %d"%(self.name,self.age,self.gender,self.grade))

s = student('Tom',17,'boy',2)
s.intro()




奇怪的是,Python支持多继承,呵呵( ̄▽ ̄)",比java高级啊
定义类的私有成员
方法,成员名称以两个下划线开头表示这个成员为私有的。不能在累的外部使用或访问,包括私有变量、方法等,都以这种形式定义私有的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息