昆山建设招标信息网站,爱站网新网址是多少,小程序设计工具,wordpress 配置邮箱目录
前言#xff1a;
什么是封装
Python私有化封装
习题 前言#xff1a; 上一期是讲解Python中类的私有属性和方法#xff0c;其实很好理解#xff0c;我给一个类中的部分属性进行加密拒绝访问#xff08;上一期链接Python进阶-----面向对象2.0#…目录
前言
什么是封装
Python私有化封装
习题 前言 上一期是讲解Python中类的私有属性和方法其实很好理解我给一个类中的部分属性进行加密拒绝访问上一期链接Python进阶-----面向对象2.0特有属性和方法与私有属性和方法_Python欧尼酱的博客-CSDN博客其实这是一种封装的体现。其实日常生活中有很多事物都是进行过封装处理比如说一个箱子里面封装了一些物品一些个人信息资料也是进行了加密处理这些都是封装的体现。当然代码也是可以去封装的而且封装还是Python面对对象的三大特征之一下面就一期来看看吧。
什么是封装 封装是一种编程思想不仅仅是Python中有的通过封装我们可以去把一些代码块功能或者数据进行打包处理这样我们就不需要关系里面具体的代码细节要用的时候就拿出来用就行了一个函数也是一种封装体现我们想用就用并不会影响代码的整体性。这就是封装的好处 封装的意义封装的最大好处是提高程序的安全性提高程序的运作效率 举个例子当我们去做一个项目的时候我们会把这个项目的各个功能分开处理而不是全部放到一起分开处理的过程其实就是一个封装处理过程这样使得程序具有高内聚低耦合的特点而不是出现牵一发而动全身使得程序运行更加稳定。 在Python面向对象中狭义的封装也就是对一个类对一些属性和方法进行封装或者累中的成员再次进行封装处理下面先看个例子。 没有封装处理的代码
if __name____main__:user_nameinput(账号:)passwordinput(密码:)if user_nameroot and password123456:print(登陆成功!)
进行封装处理的代码
class User(object):def __init__(self,user_name,password):self.user_nameuser_nameself.passwordpassworddef login(self):if self.user_nameroot and self.password123456:print(登陆成功)
if __name____main__:uUser(root,123456)User.login(u)
这样对比就很明显了。
Python私有化封装 在Python中定义一些属性的时候我们要对一些重要的信息进行加密封装处理也就是进行私有化外部的实例对象是无法去访问的而在类的内部是可以去调用的所以我们可以在类中定义相关方法作为一个验证当验证通过时才可以去访问相关信息实例如下 class User(object):def __init__(self,user_name,password,testabcde):self.user_nameuser_nameself.__passwordpassword #密码加密私有化self.__testtest #验证信息加密def login(self):if self.user_nameroot and self.__password123456:print(登陆成功)def getpassword(self,test): #建立一个验证信息从而访问密码if testself.__test:return self.__passwordreturn False
if __name____main__:uUser(root,123456)print(u.user_name)# print(u.__password) 是访问不到了因为password被私有化了User.login(u)print(u.getpassword(abcde))
#输出结果
# root
# 登陆成功
# 123456
习题 一 利用类完成一个简易的计算器 1、属性为两位参与计算的数字 2、实现加减乘除的四种计算方法 二 1 , 定义一个人类 2 , 人物属性 : 性别 , 身高 , 体重, 健康度 ... 3 , 方法1 : 跑步 : 体重减少0.5 , 健康度增加 0.01 4 , 方法2 : 走路 : 体重减少0.01 5 , 方法3 : 吃饭 : 体重增加0.8 , 健康度增加 0.05 6 , 方法4 : 睡懒觉 : 体重增加2 健康度增加 2 你们可以去做做看
答案
#1.计算器
class calc:def __init__(self):print(the result is)def __add(self,num1,num2):return num1num2def __sub(self,num1,num2):return num1-num2def __mul(self,num1,num2):return num1*num2def __div(self, num1, num2):return num1/num2def computer(self,num1,num2,count):if countadd:return self.__add(num1,num2)elif countsub:return self.__sub(num1,num2)elif countmul:return self.__mul(num1,num2)elif countdiv:return self.__div(num1,num2)
# if __name____main__:
# aint(input(num1:))
# bint(input(num2:))
# countinput(count:)
# comcalc()
# endcom.computer(a,b,count)
# print(end)#2.human bing
class humanway:def __init__(self,gander,height,weight,health):self.gandefganderself.heightheightself.weightweightself.healthhealthdef running(self):self.weight -0.5self.health 0.01def walking(self):self.weight - 0.01def eating(self):self.weight 0.8self.health 0.05def sleeping(self):self.weight 2self.health - 2
# peoplehumanway(male,1.75,60,1.0)
# print(people.weight,people.height,people.health)
# people.eating()
# print(people.weight,people.height,people.health)
好了以上就是Python封装的基本内容了thanks~~