class Student(object): #定義一個類,括號內容表示繼承自那個類,不知道繼承自哪個類就用object類# def __init__(self,name,score):#__init__是一個初始化的方法,定義的參數,屬性可以在全局中調用,這裏的name,score是一個全局參數# self.name=name self.score=score self.tt=name+'的分數是'+str(score) #全局屬性,Python對象可以隨意定義增加屬性,這裏的name,socore是一個變量。# def print_score(self,s): print('%s : %s,%s' %(self.name,self.score,self.tt))#全局屬性,可以在類中所有法使用# print(s) #s是一個print_socre方法裏的私有參數,只能在這個方法中調用,一個方法可以有參數,但是用不用都沒有關係,可以沒有屬性,# def print_grade(self): if self.score>=90: ##return '成績優秀' #一個方法(函數)可以不用返回值,返回值不會打印到屏幕上面,返回值是爲了賦值方便,沒有返回值的方法(函數),調用的時候不用賦值# print('成績優秀') elif self.score>=80: ##return '成績良好' print('成績良好') elif self.score>=60: ##return '成績及格' print('成績及格') else: ##return '成績不及格' print('成績不及格') b = Student('張三',90)#通過=類名()創建了一個實例(對象)b,括號裏傳遞的是全局參數的值# c = Student('李四',80) d = Student('李四',65) b.print_score(6) #實例b調用類中的print_score()方法,以及給類中某方法的一個print_score()私有參數s的值6# b.print_grade() c.print_score(6) c.print_grade() d.print_score(6) d.print_grade() ''' 以下是輸出結果 >>> 張三 : 90,張三的分數是90 6 成績優秀 李四 : 80,李四的分數是80 6 成績良好 李四 : 65,李四的分數是65 6 成績及格 >>> ''' '''面向對象最重要的概念就是類(Class)和實例(Instance), 必須牢記類是抽象的模板,比如Student類,而實例是根據類創建出來的一個個具體的“對象”, 每個對象都擁有相同的方法,但各自的數據可能不同。 小結 類是創建實例的模板,而實例則是一個一個具體的對象,各個實例擁有的數據都不相同; 通過在實例變量上調用方法,我們就直接操作了對象內部的數據,但無需知道方法內部的實現細節。 和靜態語言不同,Python允許對實例變量綁定任何數據,也就是說,對於兩個實例變量,雖然它們都是同一個類的不同實例,但擁有的變量名稱都可能不同: '''
第一個自己編寫的面向對象的Python例子
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.