python学习笔记十五

一、什么是封装

简单的理解封装(Encapsulation),即在设计类时,刻意地将一些属性和方法隐藏在类的内部,这样在使用此类时,将无法直接以“类对象.属性名”(或者“类对象.方法名(参数)”)的形式调用这些属性(或方法),而只能用未隐藏的类方法间接操作这些隐藏的属性和方法。

二、为什么要封装

把一台洗衣机看做洗衣机类的一个实例,洗衣机里有标准洗、速洗、精洗、桶干燥、洁桶等多种功能。作为用户不需要知道这些功能内部的具体实现,需要某项功能只要选择对应的功能键即可。这就是洗衣机封装了以上多种功能。

三、封装的方法

1、简单的更名封装

更名封装主要是形参在引入到函数内部,进实参进行重新赋值,以达到隐藏的目的

class Dog:
    def __init__(self, name, age):
        self.hidden_name = name
        self.hidden_age = age
    def speak(self):
        print('大家好,我是%s'%self.hidden_name)
d = Dog('二哈',5)
print (d.speak())

2、属性(包括方法、数据)名字前面加两个下划线

_类名__属性名 例如 __name --> _Person__name**(也可以使用单下划线)**

class Dog:
   def __init__(self, name, age):
       self.__name = name
       self.__age = age
   def speak(self):
       print('大家好,我是%s' % self.__name)
d = Dog('二哈', 5)
d.__name = '狼狗'  ##不可以修改
d._Dog__name = '狼狗'  ##可以修改
print(d.speak())

getter和setter方法,控制属性的是否只读和修改

class Dog:
   def __init__(self, name, age):
        self.hidden_name = name
        self.hidden_age = age
   def speak(self):
        print('大家好,我是%s'%self.hidden_name)
   def get_age(self):
        return self.hidden_age
   def set_age(self, age):
        self.hidden_age = age
d = Dog('二哈',5)
print (d.speak())
print (d.get_age())
d.set_age(8)
print(d.get_age())

@property 用来修饰方法的

作用:
1 @property来创建只读属性,会将方法转换成相同名称的属性
2 可以防止属性被修改

class Dog:
   def __init__(self, name, age):
       self.hidden_name = name
       self.hidden_age = age
   @property
   def speak(self):
       print('大家好,我是%s' % self.hidden_name)
   def sp(self):
       print('大家好,我是%s' % self.hidden_name)
d = Dog('二哈', 5)
print(d.speak)
print(d.sp())

继承

object是所有类的父类,所有类都继承与object
继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

class Animal:
    def run(self):
        print('动物会跑')
    def sleep(self):
        print('动物睡觉')
class Dog(Animal):
    def look_home(self):
        print('狗看家')
    d = Dog()
 d.run()
 d.sleep()
 d.look_home()

方法的重写

class Animal:
   def run(self):
       print('动物会跑')
   def sleep(self):
       print('动物睡觉')
class Dog(Animal):
    def run(self):
       print('狗跑')
   def look_home(self):
       print('狗看家')
   d = Dog()
d.run()
d.sleep()
d.look_home()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python学习笔记PDF是一种学习Python编程语言的资料形式,它包含了Python的基本语法、数据类型、流程控制、函数、模块、面向对象编程、异常处理等相关内容。以下是关于Python学习笔记PDF的详细内容说明: 1. 基本语法:Python学习笔记PDF中,首先介绍了Python的基本语法,例如如何定义变量、数据类型的使用(包括整数、浮点数、字符串、列表、元组、字典等),以及如何进行算术运算、比较运算和逻辑运算。 2. 流程控制:Python学习笔记PDF中,进一步介绍了流程控制的知识,包括条件判断和循环控制。条件判断主要是通过if语句进行判断执行不同的代码块,而循环控制则通过while循环和for循环来实现重复执行一段代码。 3. 函数:Python学习笔记PDF中,对函数的概念和使用进行了详细的解释。函数是代码的封装和组织方式,通过定义函数可以提高代码的重用性和可读性。学习者将了解到如何定义函数、调用函数、函数参数的传递以及函数返回值的使用。 4. 模块:Python学习笔记PDF中,介绍了Python中的模块和包的概念。模块是一组函数、类或变量的集合,以.py文件的形式存在,可以被其他程序调用和使用。学习者将学习如何导入模块、使用模块中的函数和变量。 5. 面向对象编程:Python学习笔记PDF中,对面向对象编程进行了系统的讲解。面向对象编程是一种以对象为基本单位的编程思想,通过定义类和对象,可以更好地组织和管理代码。学习者将了解如何定义类、创建对象、封装、继承和多态的使用。 6. 异常处理:Python学习笔记PDF中,对异常处理进行了介绍。异常是程序在运行过程中出现的错误,通过捕获和处理异常,可以更好地控制程序的执行流程并提高程序的健壮性。学习者将了解到如何使用try-except语句来捕获和处理异常。 总之,Python学习笔记PDF是一份全面而详细的学习Python编程语言的资料,通过学习该资料,学习者将获得扎实的Python编程基础,并能够运用Python进行简单的程序开发。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值