第一个自己编写的面向对象的Python例子
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允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然它们都是同一个类的不同实例,但拥有的变量名称都可能不同: ‘‘‘
本文出自 “郑树恒的技术博客” 博客,请务必保留此出处http://zhengshuheng.blog.51cto.com/1439780/1574111
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。