前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >self 应用

self 应用

作者头像
Python攻城狮
发布2018-08-23 11:19:19
4540
发布2018-08-23 11:19:19
举报
文章被收录于专栏:Python攻城狮Python攻城狮

1.为了更好的理解面向对象编程,下面以“烤地瓜”为案例,进行分析

2.分析“烤地瓜”的属性和方法

1.示例属性如下:

·cookedLevel :这是数字;0~3表示还是生的,超过3表示半生不熟,超过5表示已经烤好了,超过8表示已经烤成木炭了!我们的地瓜开始时时生的

·cookedString :这是字符串;描述地瓜的生熟程度

·condiments :这是地瓜的配料列表,比如番茄酱、芥末酱等

2.示例方法如下:

·cook():把地瓜烤一段时间

·addCondiments():给地瓜添加配料

·__init__():设置默认的属性

·__str__():让print的结果看起来更好一些

3.定义类,并且定义__init__()方法

#定义`地瓜`类

classSweetPotato:

'这是烤地瓜的类'

#定义初始化方法

def__init__(self):

self.cookedLevel =0

self.cookedString ="生的"

self.condiments = []

4.添加"烤地瓜"方法

5.完整代码

3.应用:存放家具

1.分析

2.代码

总结:如果一个对象与另外一个对象有一定的关系,那么一个对象可用是另外一个对象的属性

4.保护对象的属性

如果有一个对象,当需要对其进行修改属性时,有2种方法

·对象名.属性名=数据---->直接修改

·对象名.方法名() ---->间接修改

为了更好的保存属性安全,即不能随意修改,一般的处理方式为

·将属性定义为私有属性

·添加一个可以调用的方法,供调用

运行结果:

总结

·Python中没有像C++中public和private这些关键字来区别公有属性和私有属性

·它是以属性命名方式来区分,如果在属性名前面加了2个下划线'__',则表明该属性是私有属性,否则为公有属性(方法也是一样,方法名前面加了2个下划线的话表示该方法是私有的,否则为公有的)。

�5.__del__()方法

创建对象后,python解释器默认调用__init__()方法;

当删除一个对象时,python解释器也会默认调用一个方法,这个方法为__del__()方法

结果:

总结:

·当有1个变量保存了对象的引用时,此对象的引用计数就会加1

·当使用del删除变量指向的对象时,如果对象的引用计数不会1,比如3,那么此时只会让这个引用计数减1,即变为2,当再次调用del时,变为1,如果再调用1次del,此时会真的把对象进行删除

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.05.26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.为了更好的理解面向对象编程,下面以“烤地瓜”为案例,进行分析
  • 2.分析“烤地瓜”的属性和方法
    • 1.示例属性如下:
      • 2.示例方法如下:
      • 3.定义类,并且定义__init__()方法
      • 4.添加"烤地瓜"方法
      • 5.完整代码
      • 3.应用:存放家具
        • 1.分析
          • 2.代码
          • 4.保护对象的属性
          • �5.__del__()方法
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档