码迷,mamicode.com
首页 > 编程语言 > 详细

python 类和方法(面向对象)

时间:2018-02-27 01:06:44      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:饮食   ini   elf   面向对象   sub   class   创建对象   中国人   int   

类和方法

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类的方法

 

 

 

  

  

 

python 类和方法(面向对象)

标签:饮食   ini   elf   面向对象   sub   class   创建对象   中国人   int   

原文地址:https://www.cnblogs.com/guog1/p/8476443.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!