鱼C论坛

 找回密码
 立即注册
查看: 1989|回复: 0

[技术交流] 《零基础入门学习python》037笔记:self、__init__、私有变量

[复制链接]
发表于 2017-9-7 13:02:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 汪蛋 于 2017-9-7 16:30 编辑



知识点一:
self就相当于C++里的this指针,小例程来说明一下下:
  1. class Ball:
  2.         def setName(self, name):
  3.                 self.name = name
  4.         def kick(self):
  5.                 print("我叫%s..." % self.name)
  6. a = Ball()
  7. a.setName('汪蛋')
  8. a.kick()
复制代码

知识点二:
构造函数__init__(self):
  1. class Ball:
  2.         def __init__(self,name):
  3.                 self.name = name
  4.         def kick(self):
  5.                 print("我叫%s..." % self.name)
  6. a = Ball('蛋蛋')
  7. a.kick()
复制代码

知识点三:
在python中定义私有变量只需要在变量前加“__”两个下划线就可以了,那么这个函数或者变量就会变成私有的了,而不存在public以及private这样的关键字。

首先,公有变量如下:
  1. <font size="2">class Ball():
  2.         name = '汪蛋'
  3. # 如下的语句就可以对Ball中name进行访问
  4. a = Ball()
  5. a.name</font>
复制代码
现在,把变量变为私有:
  1. <font size="2">class Ball():
  2.         __name = '汪蛋'</font>
复制代码
那么将要用如下两种方法进行访问:
  1. # 对于这样一个类,如何访问私有变量name
  2. class Ball():
  3.         __name = '汪蛋'
  4.         def getName(self):
  5.                 return self.__name

  6. # 方法一
  7. a = Ball()
  8. a.getName()
复制代码
可以看出,其实python类中的私有变量,其实是伪私有

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 10:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表