类和方法
name = "Jack" city = "bejing" print("my name is %S and come from %s "%(name,city)) print ("hello 51zxw") name = "harry" city = "shengzhen" print("my name is %S and come from %s "%(name,city)) print ("hello 51zxw") 思考几个问题?如果班上有50个同学依次上面形式介绍怎么办? 类与对象 人类 属性:地域、肤色、国家 功能: 走路、思考、饮食、跑 具体对象:中国人、非洲人 学生 属性:姓名、学号、城市、年龄 功能:听、读、写、说 具体对象:jack同学、harry同学 三大特殊:封装、继承、多态 定义一个学生的类 class Student(object):#括号不写默认也是object,可写可不写 def _init_(self,name,city): #构造函数 self.name = name #self相当于是是一个孩子,把名字绑定在这个孩子身上 self.city = city print ("my name is %s and come from %s %(name,city)") def talk(self): print ("hello 51zxw") 生成实例对象 stu1 = Student("jack","beijing")#创建对象 stu1.talk() #对象调用方法 stu2 = Student("harry",shengzhen) stu2.talk()
输出结果:
name is jack and come from beijing
hello 51zxw
例二:
class A(): def add(self,a,b): return a+b count = A() print (count.add(3,5)) 输出结果: 8
例三
class A(): def _init_(self,a,b): self.a = int(a) self.b = int(b) def add(self): return self.a+self.b count = A(3,4) count.add() 输出结果: 7 """解析:当调用A类时首先执行_init_方法,所以需要对其进行传参,初始化做的事就是将输入的类型化为整型,而add()可以直接拿初始化的self.a self.b进行计算,调用add()时不需要再进行传参"""
类的继承
class A(): def add(self,a,b): return a+b class B(A): def sub(self,a,b): return a-b print (B().add(3, 4)) #调用父类方法 输出结果: 7 print (B().sub(3, 4))#调用自己的方法 输出结果: -1
先创建了A类,又创建了B类,B类继承了A类,所以B可以调用A类的方法