Python学习_10 类


Python学习_10 类
2018-04-19
1、定义:
        类(Class):  用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。
class StudentName(object):
    pass
2、类里边一般由很多函数组成,函数的第一个参数默认都是self;如果需要全局变量,就在类的内部直接定义
3、类的内部在调用函数或者调用变量的时候,必须使用self变量,或者self函数
self代表的是类实例化以后的个体
4、类的实例化
studentname = StudentName()
5、类的构造器
就是类在初始化的时候,首先必须要执行的函数
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018\4\19 0019 22:02
# @Author  : xiexiaolong
# @File    : demon3.py

class A(object):
    def __init__(self, name):
        self.name = name
        print("init class A")
    def hello(self):
        print("hello {0}".format(self.name))

a = A("xxl")
a.hello()
结果:
D:\python\venv\Scripts\python.exe D:/python/第九课类/demon3.py
init class A
hello xxl

Process finished with exit code 0
分析:首先定义一个类,  函数 def __init__(self, name):  部分就是类的构造器;a = A("xxl") 就是实例化类;a.hello()  是调用函数hello()
6、类的继承、重写、调用
继承: 继承完全可以理解成类之间的类型和子类型关系。
重写: 如果你的父类方法的功能不能满足你的需求,你可以在子类重写你父类的方法
调用:先去找子类中的方法,如果子类中找不到对应的方法,就去父类中找
多继承:如果父类中都有该方法,那么先继承谁,就用谁的方法
例子:创建一个动物类、鸟类、猫类:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018\4\19 0019 22:02
# @Author  : xiexiaolong
# @File    : demon3.py

class Animal(object):
    def __init__(self,name):
        print("正在初始化一个Animal")
    def run(self):
        print("Animal can run")
class Bird(Animal):
    def __init__(self):
        print("bird")
    def fly(self):
        print("Bird can fly")
class Cat(Animal):
    def __init__(self, name, sex):
        self.name = name
        self.sex = sex
        super(Cat, self).__init__(self.name)
        print("我是一只猫")
    def jiao(self):
        print("miao miao miao")
    def run(self):
        print("我是一只猫,我会跑")
class BianYi(Cat, Bird):
    pass
cat = Cat("mao","man")
结果:
D:\python\venv\Scripts\python.exe D:/python/第九课类/demon3.py
正在初始化一个Animal
我是一只猫

Process finished with exit code 0
分析:
1、首先创建父类Animal(), 有run()函数;
2、再创建子类Bird(),有fly()函数,他还继承了父类Animal的fly()方法;
3、再创建子类Cat(),继承了父类的run()方法,但是他自己重写的run()方法,当调用run()的时候先调自己的; super方法直接去调父类,所以结果显示调用父类、然后子类



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值