python【面向对象】

 1 class rect:
 2     def __init__(self,width=1,height=1):
 3         self._width = width
 4         self._height = height
 5 
 6     def setWidth(self,width):
 7         self._width = width
 8 
 9     def setHeight(self,height):
10         self._height = height
11 
12     def getWidth(self):
13         return self._width
14 
15     def getHeight(self):
16         return self._height
17 
18     def area(self):
19         return self._width * self._height
20 
21     def perimeter(self):
22         return 2 * (self._width + self._height)
23 
24     def __str__(self):
25         return ("Width:" + str(self._width)
26                  + "\nHeight:" + str(self._height))
27      
rect对象(库)
 1 #在程序中,创建一个对象的语法有下面两种形式:
 2 ##    object那么= ClassName(arg1,arg2,. . .)
 3 ##    或者
 4 ##    objectName = moudleName.ClassName(arg1,arg2,. . .)
 5 #========================矩形类
 6 import rect
 7 #创建一个宽4高5的矩形
 8 r = rect.rect(4,5)
 9 print(r)
10 print()
11 
12 r=rect.rect()
13 print(r)
14 print()
15 
16 r = rect.rect(4)
17 print(r)
 1 ##在上面得基础上使用赋值和取值的方法。利用这两种方法改变rect类中的对象
 2 #========================矩形类
 3 import rect
 4 #创建一个宽4高5的矩形
 5 r = rect.rect()
 6 
 7 r.setWidth(4)
 8 r.setHeight(5)
 9 print("Width is:",r.getWidth())
10 print("Height is:",r.getHeight())
11 
12 print("Area is:",r.area())
13 print("perimeter is:",r.perimeter())

 =======================================初始化方法的其他形式

 1 def __init__(self):
 2     self._Width = 1
 3     self._Height = 1
 4 
 5 def __init__(self,width=1):
 6     self._width = width
 7     self._height = 1
 8 
 9 def __init__(self,width,height):
10     self._width = width
11     self._height =height
12     
三种初始化方法

=====================================类定义中方法的数量

1.类定义中可以包含很多方法,此外,定义没有方法的类也是合法的,例如:

1 class Trivial:
2          pass

=========================================纸牌类

 1 import random
 2 def main():
 3     c = Card()
 4     c.selectAtRandom()
 5     print(c)
 6 class Card:
 7     def __init__(self,rank="",suit=""):
 8         self._rank = rank
 9         self._suit = suit
10     def selectAtRandom(self):
11         ranks = ['2','3','4','5','6','7','8','9','10','jack','queen','king','ace']
12         self._rank = random.choice(ranks)
13         self._suit = random.choice(["spades","hearts","clubs","diamonds"])
14 
15     def __str__(self):
16         return (self._rank + "of" + self._suit)
17 
18 main()    

===============================学期成绩类

 1 #学生其中和期末的最终成绩
 2 def main():
 3     name = input("学生姓名:")
 4     midterm = float(input("输入学生期中成绩:"))
 5     final = float(input("输入学生期末成绩:"))
 6     st =LGstudent(name,midterm,final)
 7     print("\nNAME\tGRADE")
 8     print(st)
 9 class LGstudent:
10     def __init__(self,name="",midterm=0,final=0):
11         self._name =name
12         self._midterm = midterm
13         self._final = final
14     def setName(self,name):
15         self._name = name
16 
17     def setMidterm(self,midterm):
18         self._midterm = midterm
19 
20     def setFinal(self,final):
21         self._final = final
22 
23     def calcSemGrade(self):
24         average = (self._midterm + self._final)/2
25         average = round(average)
26         if average>=80:
27             return("A")
28         elif average>=70:
29             return "B"
30         elif average >=60:
31             return "C"
32         else:
33             return "不及格"
34     def __str__(self):
35         return self._name + "\t" + self.calcSemGrade()
36 main()    

 =====================================对象列表

 1 class LGstudent:
 2     def __init__(self,name="",midterm=0,final=0):
 3         self._name =name
 4         self._midterm = midterm
 5         self._final = final
 6     def setName(self,name):
 7         self._name = name
 8 
 9     def setMidterm(self,midterm):
10         self._midterm = midterm
11 
12     def setFinal(self,final):
13         self._final = final
14 
15     def calcSemGrade(self):
16         average = (self._midterm + self._final)/2
17         average = round(average)
18         if average>=80:
19             return("A")
20         elif average>=70:
21             return "B"
22         elif average >=60:
23             return "C"
24         else:
25             return "不及格"
26     def __str__(self):
27         return self._name + "\t" + self.calcSemGrade()
lgStudent.py

 

 1 import lgStudent
 2 def main():
 3 
 4     listOfStudents = []
 5     carryOn = "Y"
 6     while carryOn == "Y":
 7         st = lgStudent.LGstudent()
 8 
 9 
10         name = input("输入学生姓名:")
11         midterm =  float(input("输入学生期中成绩:"))
12         final = float(input("输入学生期末成绩:"))
13 
14 
15         st = lgStudent.LGstudent(name,midterm,final)
16         listOfStudents.append(st)
17         carryOn = input("Do you want to continue(Y/N):")
18         carryOn = carryOn.upper()
19     print("\nNAME\tGRADE")
20 
21     for pupil in listOfStudents:
22         print(pupil)
23 main()
24         
25     

 

posted @ 2018-03-30 16:25  Justice-V  阅读(167)  评论(0)    收藏  举报