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
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()
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
一个二次元的生物

浙公网安备 33010602011771号