在面向?qū)ο缶幊讨?,先編寫表示現(xiàn)實(shí)世界中的事物和情景的類,并基于這些類來創(chuàng)建對(duì)象。
基于類創(chuàng)建對(duì)象時(shí),每個(gè)對(duì)象都自動(dòng)具備類的通用行為,同時(shí)可根據(jù)需要賦予每個(gè)對(duì)象獨(dú)特的個(gè)性,在實(shí)例中存儲(chǔ)特定信息及操作
根據(jù)類來創(chuàng)建對(duì)象被稱為實(shí)例化
類,也可以用來擴(kuò)展既有類的功能,讓相似的類能夠高效地共享代碼
成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元海城做網(wǎng)站,已為上家服務(wù),為海城各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
一、創(chuàng)建和使用類、實(shí)例
編寫一個(gè)學(xué)生的類,含有名字、年齡、年級(jí)、家鄉(xiāng)等信息,同時(shí)定義6個(gè)方法,每個(gè)方法都是簡(jiǎn)單地打印相關(guān)信息。
class Student(): def __init__(self, name, age,grade,hometown): #任何一個(gè)類,此方法必有,方法 __init__() 定義成了包含5個(gè)形參: self 、 name , age ,grade 和 hometown """ __init__() 是一個(gè)特殊的方法,當(dāng)根據(jù)類來創(chuàng)建實(shí)例時(shí),Python會(huì)自動(dòng)運(yùn)行,在這個(gè)方法的名稱中,開頭和末尾各有兩個(gè)下劃線,這是一種約 定__init__前后是兩個(gè)短 _ ,并不是一個(gè),且中間沒有空格號(hào), self ,是一個(gè)指向?qū)嵗旧淼囊茫寣?shí)例能夠訪問類中的屬性和方法,以 self 為前綴的變量都可 供類中的所有方法使初始化屬性name,age,,grade和hometown""" self.name= name #以 self 為前綴的變量都可供類中的所有方法使用, self.name = name 獲取存儲(chǔ)在形參 name 中的值,將其存儲(chǔ)到變量 name 中,然后該變量被關(guān)聯(lián)到當(dāng)前創(chuàng)建的實(shí)例 self.age = age #可通過實(shí)例訪問的變量稱為屬性,name,age ,grade 和 hometown 都為類Student的屬性 self.grade = grade #屬性self.grade ,同時(shí)將形參grade賦值給self.grade self.hometown = hometown #屬性hometown def get_name(self): #定義打印學(xué)生名字的一個(gè)方法(函數(shù)) """ print("The student'name is"+self.name.title()+'.') def get_age(self): #定義打印學(xué)生年齡的一個(gè)方法(函數(shù)) """ print("The student is"+str(self.age)+' years old.') def get_grade(self): #定義打印學(xué)生家鄉(xiāng)的一個(gè)方法 """ print("The student is grade"+str(self.grade)) def get_hometown(self): #定義打印學(xué)生家鄉(xiāng)的一個(gè)方法 """ print("The student"+self.name.title()+" is froming"+self.hometown.title()) def do_homework(self): #定義學(xué)生的一個(gè)方法(函數(shù)),做家庭作業(yè)""" print(self.name.title()+" is doing his homework now !") def play_game(self): #定義學(xué)生做游戲 """ print(self.name.title()+" is playing game with his friend !") def get_student_info(self): #定義學(xué)生的一個(gè)方法(函數(shù)),打印學(xué)生信息""" student_info = self.name.title()+' is'+str(self.age)+' years old, and from'+self.hometown +'and grade'+str(self.grade) print(student_info) """實(shí)例化,創(chuàng)建兩個(gè)學(xué)生""" student_a= Student("jack",13,7,'Newyork') #創(chuàng)建實(shí)例 student_a ,具備類Student中的相關(guān)參數(shù),并且相關(guān)參數(shù)與定義中的形參逐一對(duì)應(yīng),方法 __init__()中的self指的是自身,不需要參數(shù) student_b = Student("huawei",12,7,'wuhai') #創(chuàng)建實(shí)例 student_b ,類中的每個(gè)屬性都必須有初始值,哪怕這個(gè)值是0或空字符串,在方法 __init__() 內(nèi)指定這種初始值是可行的 print("The student is"+student_a.name.title()+'.') #直接調(diào)用實(shí)例中的參數(shù) print("The student is"+str(student_a.age)+" years old.") #.title()方法是首字母大寫,str()是將數(shù)字轉(zhuǎn)為字符串 print("\n") #打印空行,便于查看 student_a.get_name() #實(shí)例化后,直接調(diào)用類的方法 student_a.do_homework() student_a.get_hometown() print("\n") #打印空行,便于查看 student_b.get_name() student_b.get_grade() student_b.get_age() student_b.play_game() print("\n") #打印空行,便于查看 student_a.get_student_info() student_b.get_student_info()