python 面向对象基础

>>> 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)



原文地址:https://www.cnblogs.com/liyujie1978/p/9561840.html