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

python的三种特性

时间:2019-10-08 12:53:03      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:定义   static   strong   其他   python   span   java   广度优先   继承   

1、封装

什么时候用函数?

    各个函数之间是独立的且无共用的数据。

 

什么时候用类?

    函数之间是相关的,且有共用的数据,则可以使用类来封装。

 

所谓的封装:

(1)使用构造方法将内容封装到 对象 中。

(2)通过对象直接获取被封装的内容或者通过self间接获取被封装的内容。

 

class A:

    def __init__(self, name, age):

        self.name = name

        self.age = age

    def get(self):

        print(self.name)

 

# 实例化

obj = A()

obj.get() 等价于 obj.get(obj)

# 调用的时候,会将对象obj自身赋值给self变量

self = obj                            

self.name 等价于 obj.name

self.age 等价于 obj.age

 

2、继承

同现实中的继承一样。

猫可以:喵喵叫、吃、喝、拉、撒

狗可以:汪汪叫、吃、喝、拉、撒

 

动物:吃、喝、拉、撒

猫:喵喵叫(猫继承动物的功能)

狗:汪汪叫(狗继承动物的功能)

对于面向对象的继承来说,其实就是将多个类共有的方法提取到父类中,子类仅需继承父类,不必

一一实现每个方法。

当类是经典类时,多继承情况下,会按照深度优先方式查找

当类是新式类时,多继承情况下,会按照广度优先方式查找

 

如果当前类继承了object,那么当前类便是新式类;

如果当前类的父类继承了object,那么当前类便是新式类;

除了这2种情况,其他类都是经典类。

 

3、多态

在Java或C#中定义函数参数时,必须指定参数的类型。

比如java定义函数:

public static int sum(int num1, int num2) {

    # 函数体

}

在python中不用指定类型,可以直接用。

比如:

def sum(num1, num2):

    # 函数体

python的三种特性

标签:定义   static   strong   其他   python   span   java   广度优先   继承   

原文地址:https://www.cnblogs.com/t-road/p/11634552.html

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