python 面向對象基礎
阿新 • • 發佈:2018-08-30
人的 技術 col 取出 類變量 align items python png
>>> class P:pass
...
>>> type(P)
<class ‘type‘>
>>> p = P()
>>> type(p)
<class ‘__main__.P‘>
P 是一個模板(模具),實例是通過這個模板(模具),
添加了不同的初始化參數生產出來的具體產品,
可以有多個,且每個具體產品可以有不同參數設定不同的造型。
類:
管理一組數據(可以是0個、1個或多個),以及提供操作這組數據的
相關方法,數據和方法組成了類。
class Person(object): #定義一個類
def __init__(self,name,sex,height,weight,bachelor): #申明人的一些屬性
self.name = name
self.sex = sex
self.height = height
self.weight = weight
self.bachelor = True
def print_name(self) #定義一個打印姓名的方法
Print(self.name)
wulaoshi = Person("wulaoshi", "M", 180, "200", True) #實例化一個對象 吳老師
lilaoshi = Person("lilaoshi", "M", 101, ”160”, False)
print (wulaoshi.sex)
print (lilaoshi.weight)
2.學生學習成績講解
# encoding=utf-8
class Student(object):
student_num=0 #類變量 學生數量
def __init__(self,name,school,grade,course=[],course_grade={}):
self.name = name
self.school = school
self.grade =grade
self.course = course
self.course_grade = course_grade
Student.student_num+=1 #類變量前面加類名Student
def get_name(self):
return self.name
def get_course(self): #獲取這個學生所有學習的課程(打印)
print(self.course)
def set_course(self, course):
self.course = course
def set_course_grade(self, course_grade): #設定學生學習課程的成績
self.course_grade = course_grade
def get_course_grade(self):
print(self.name + "的學習成績如下:")
for course, grade in self.course_grade.items(): #學習成績用dict表示,獲取學生課程的成績用key,value取出來
print("%s:%s" % (course, grade))
s1=Student("猴子","南昌大學" ,"計算機2014級")
s2=Student("虎子","山西大學" ,"文學系2016級")
s1.set_course(["計算機","線性代數","java基礎"]) #實例化這個學生學習的課程,用一個list來表示
s2.set_course(["語文","數學","英語"])
s1.get_course()
s2.get_course()
s1.set_course_grade({"計算機":81,"線性代數":75,"java基礎":90}) #實例化學習課程的成績,用dict表示
s2.set_course_grade({"語文":82,"數學":72,"英語":68})
s1.get_course_grade()
print("*" * 20)
s2.get_course_grade()
print(Student.student_num)
python 面向對象基礎