|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 醉酒青牛 于 2015-11-16 11:29 编辑
小牛有话说:
各位鱼油,大家好。我是小牛,如果您已经看完或者正在看鱼神的《零基础入门学习Python》视频,想随时复习前面的知识点却又不想花太多时间和精力重翻视频,来这里《零基础入门Python学习》整理瞅瞅小牛呕心做的的视频内容的总结吧^_^,如果觉得有用的话,可以点击所属淘贴右上角的“订阅”按钮,这样以后就能够随时看到小牛做的最新的整理了。
年底恰逢各种项目结题,近两周内没有时间和精力更新帖子,这里对关注小牛帖子鱼油们说声抱歉了,后面小牛会尽力加快更新速度,争取在11月份更完类和对象部分。
本期主要内容导读:
这一期我们归纳一下鱼神第三十七讲“类和对象:面向对象编程”。这一期里面鱼神主要是介绍了类方法内self参数的意义,Python的魔法方法概念及第一个魔法方法构造函数的定义过程以及Python内成员的公有和私有设置。下面我们就来详细介绍一下各个知识点吧~~~~~~
1. 类方法的self参数含义
在Python中类的的方法都要有self参数,其实质为对类的实例化对象的绑定从而使得在类的实例化对象调用方法时能够确认出是对哪个对象进行操作,与C里面的this指针是一样的,举例说明:
>>> class Ball:
def setName(self,name):
self.name = name
def kick(self):
print('我叫%s,卧槽,谁踢我...'%self.name)
>>> a = Ball()
>>> a.setName('球A') #调用setName方法时,self指代的就是对象a本身
>>> a.kick()
我叫球A,卧槽,谁踢我...
>>> b = Ball()
>>> b.setName('土豆')
>>> b.kick()
我叫土豆,卧槽,谁踢我...
2. Python的魔法方法之一构造方法
在Python中有一种特殊的方法,他会在实例化类对象时自动调用该方法,这些方法如果没有定义则系统会自动生成,我们将这些方法称之为Python的魔法方法,定义这些方法必须咋方法名左右两侧加上双下划线。在这里面我们首先介绍一个为类对象属性初始化的方法-构造方法。构造方法的函数名为__init___,在函数对象实例化时调用,举例说明:
>>> class Ball:
def __init__(self,name):
self.name = name
def kick(self):
print('我叫%s,卧槽,谁踢我...'%self.name)
>>> a = Ball('球A')
>>> b = Ball('土豆')
>>> a.kick()
我叫球A,卧槽,谁踢我...
>>> b.kick()
我叫土豆,卧槽,谁踢我...
3. Python的公有私有成员设置
严格来说,在Python里面的方法和属性都是公有的,但是可以通过名字转置的方法做出假私有的方法。设置假私有的方法很简单,只要在变量或者方法前加上双下划线即可,这样系统会默认在其前面加上”_类名“,这样子我们就没有办法直接对其进行访问,但可以使用”对象名._类名__.成员名“对其进行访问,举例说明:
>>> class Person:
name = '小甲鱼'
__age = 18
>>> xiaoli = Person()
>>> print(xiaoli.name)
小甲鱼
>>> print('xiaoli的年龄是%d'%xiaoli.__age)
Traceback (most recent call last):
File "<pyshell#24>", line 1, in <module>
print('xiaoli的年龄是%d'%xiaoli.__age)
AttributeError: 'Person' object has no attribute '__age'
>>> print('xiaoli的年龄是%d岁'%xiaoli._Person__age)
xiaoli的年龄是18岁 |
|