|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Gabber 于 2017-9-24 23:38 编辑
面向对象
self
类是图纸,类实例化后的对象是可住人的房子,一张图纸可设计出多个房子,self相当于每个房子的门牌号。
对象的方法被调用时,先将自身作为第一个参数传给self,python在接收到self后便知道是哪个对象在调用方法了。
在类定义的时候,把self写进第一个参数是默认要求。
- class Ball:
- def setName(self,name):
- self.name = name
- def kick(self):
- print("我叫%s,该死的,谁踢我..." %self.name)
- >>> a.setName('Gabber')
- >>> a.kick()
- 我叫Gabber,该死的,谁踢我..
复制代码
Python的魔法方法(被'__'包围)
__init__(self) #构造方法
实例化对象后,该方法在对象创建时自动调用
- class Ball:
- def __init__(self,name):
- self.name = name
- def kick(self):
- print("我叫%s,该死的,谁踢我..." %self.name)
- >>> b = Ball('土豆')
- >>> b.kick()
- 我叫土豆,该死的,谁踢我...
复制代码
公有私有
使用了name mangling技术(名字改编、名字重整)
Python中定义私有变量只需要在变量名或函数名前加上"__"两个下划线,那么这个变量或者函数就会为私有了。
- >>> class Person:
- __name = '小甲鱼
- >>> class Person:
- __name = '小甲鱼'
- def getName(self): # 修改内部方法访问私有变量
- return self.__name
- >>> p = Person()
- >>> p.getName()
- '小甲鱼'
- >>> p._Person__name # 通过 _类名__变量名 的方式访问变量
- '小甲鱼'
复制代码
|
|