python面向对象

python面向对象

类和对象
  • 面向过程和面向对象的编程
    面向过程的编程:函数式编程,C等
    面向对象的编程:C++,Java,python等
  • 类:是面向对象中的两个概念
  • 对象:是类的一个实例,比如:黄人,白人,黑人
  • 类的组成:变量和函数
    变量:“成员变量”
    函数:“成员函数”
  • 对象的组成:对象有类实例化得到,所以也是变量和函数组成
  • python类的定义:
    使用class定义一个类,类的首字母要大写
  • python类的结构:
    class MyClass(object):
    变量定义
    函数定义
    ….
  • 对象的创建:
    myClass1 = MyClass()#创建类的一个实例
    引用对象的属性:myClass1.attribute
属性和方法
  • 通过self调用类属性
  • 对象生成时自动执行的特殊方法:init()
  • 通过self增加对象属性
class Human(object):
    laugh = 'hahaha'
    def __init__(self,name):
        self.name= name
        print('__init__is called')
    def show_laugh(self):
        print(self.laugh)
    def laugh_10th(self):
        for i in range(10):
            self.show_laugh()

kaka = Human('xiaoming')
kaka.laugh_10th()
  • 类的属性是对数据的封装,方法是对类的封装
  • 类的属性:
    (1)公有属性:在类中和类外调用的属性
    (2)内置属性:由系统在定义类的时候自动添加的,例如dict,module
    (3)私有属性:不能被类意外的函数调用,在属性名前加__

  • 方法

    (1)方法的定义:self作为第一个参数

    (2)类方法也分为:公有方法和私有方法

*私有方法:不能被外部的类和方法调用
定义:加双下划线__

*类方法:被classmethod()函数处理过的函数

*静态方法:相当于“全局函数”,其中无“self”语句
- self参数:指向对象本身

继承
  • 类本身可以进一步细分成子类
  • 继承:子类对父类属性和方法的共享
class Brid(object):
    have_feather = True
    way_of_rep = 'egg'
    def move(self, dx, dy):
        position = [0,0]
        position[0] = position[0] + dx
        position[1] = position[1] + dy
        return position
class Chicken(Brid):
    way_of_movv = 'walk'
    possible_in_KFC = True

class Swan(Brid):
    way_of_move = 'fly'
    possible_inKFC = False

summer = Chicken()
print(summer.have_feather)
print(summer.possible_in_KFC)
print('after move:',summer.move(5,8))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值