第十一周---Python实践
这周对于Python进行了更加深入的使用,主要方面就是面向对象方面的知识。首先是构造函数,真的跟java这些都很大的不同。但是使用也是非常方便。
Python里面有__init__()这个构造方法,可以在直接传入参数,然后在类的实例时可以直接传参调用这个方法。
class Complex: def __init__(self, realpart, imagpart): self.r = realpart self.i = imagpart x = Complex(3.0, -4.5) print(x.r, x.i) # 输出结果:3.0 -4.5
而且这个self也是非常的神奇,真的很好用。我的感觉就是只要是一个类中,就可以 self. 任何属性。真的很方便。
对于Python的类的继承有了很大的了解以及实践:(人---学生)(人---教师)(学生---研究生)
class People: #定义基本属性 name='' sex='' age=0 #定义构造方法 def __init__(self,name,sex,age): self.name=name self.sex=sex self.age=age def speck(self): print('我叫 %s ,性别 %s ,%d岁'%(self.name,self.sex,self.age)) #测试 x=People('xm','man',20) x.speck() #继承 class Student(People): #定义基本属性 stu_num=0 ru_time='' ru_grade='' #定义构造方法 def __init__(self,name,sex,age,stu_num,ru_time,ru_grade): #继承初始化 People.__init__(self,name,sex,age) self.stu_num=stu_num self.ru_time=ru_time self.ru_grade=ru_grade def speck(self): print('我叫%s ,性别%s ,%d岁 , 学号%d , 入学时间%s , 入学成绩%s'%(self.name,self.sex,self.age,self.stu_num,self.ru_time,self.ru_grade)) #测试 x1=Student('xm','man',20,20173690,'2017.9','10000000') x1.speck() class Teacher(People): zw='' bm='' gzsj=0 def __init__(self,name,sex,age,zw,bm,gzsj): People.__init__(self,name,sex,age) self.zw=zw self.bm=bm self.gzsj=gzsj def speck(self): print('我叫%s ,性别%s ,%d岁 , 职务%s , %s部门 , 工作%d年'%(self.name,self.sex,self.age,self.zw,self.bm,self.gzsj)) #测试 x2=Teacher('xm','man',20,'BOSS','家里蹲',200) x2.speck() class Graduate(Student): yjfx='' ds='' def __init__(self,name,sex,age,stu_num,ru_time,ru_grade,yjfx,ds): Student.__init__(self,name,sex,age,stu_num,ru_time,ru_grade) self.yjfx=yjfx self.ds=ds def speck(self): print('我叫%s ,性别%s ,%d岁 , 学号%d , 入学时间%s , 入学成绩%s , 研究方向%s , 导师%s' %(self.name,self.sex,self.age,self.stu_num,self.ru_time,self.ru_grade,self.yjfx,self.ds)) #测试 x3=Graduate('xm','man',20,20173690,'2017.9','10000000','发呆','xxm') x3.speck()
当然在后续实验使用中还学习到了其他有用的模块:(可以判断正确日期)
#模块识别日期是否符合规则 from datetime import date
#判断 def isVaildDate(self): try: #判断异常 date(self.year,self.month,self.day) except: #异常输出 return False
else: return True
判断是否为闰年(返回为True或者False)
import calendar print(calendar.isleap(2000))
还有很多time模块的介绍:菜鸟教程