Python面向对象之类和实例

1.类的定义

    定义是用过class关键字

        class Student(object):

            pass

    class 后面紧接着是类名,即Student,类名通常是大写开头的单词,

    紧接着是(object),表示该类是从哪个类继承下来的。如果没有合适

    的继承类,就使用object类,这个是所有类最终都会继承的类。


    定义好了Student类,就可以根据Student类创建出Student的实例,

    创建实例是通过类名+()实现的


    res = Student()

    print(res)#<__main__.Student object at 0x1035d35c0>

    print(Student)#


    可以看到,res指向的是一个Student实例,而Student本省则是一个类。


    可以自由的给实例变量绑定属性,eg. 给res绑定一个name属性

    res.name = 'Jake'

    print(res.name)#Jake


    由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们

    认为必须绑定的属性强制填写进去,通过定义一个特殊的__init__方法

    在创建实例的时候,把name,age,sex等属性绑定上去。

        def __init__(self, name, age, sex):

            self.name = name

            self.age = age

            self.sex =sex

        注:__init__是双下划线


    注意:

        __init__方法第一个参数永远是,self。表示创建的实例本身,

        因此,在__init__方法内部,就可以把各种属性绑定到self,

        因此,self就指向创建的实例本身。

        有了__init__方法,在创建实例的时候,就不能传入空的参数了

        必须传入与__init__方法匹配的参数,但self不需要传,Python

        解释器自己会把实例变量传进去。


        res = Student('Jake', 60, '男')

        print(res.age)#60


    和普通方法相比,在类中定义的函数只有一点不同,就是第一个参数永远

    都是self,并且调用时,不用传递参数。除此之外,与类的方法与普通方

    法没有什么区别。


    总结:

        __dict__ : 可查询类和对象中内容,并以字典形式返回。


        1.类名+() ---->实例化一个对象

        2.这个时候会自动执行__init__方法,并且将对象传给__init__的self参数

        3.给对象封装相应的属性。


2.数据封装

    面向对象编程的一个重要的特点就是数据封装。

    在上面的Student类中,每个实例都拥有各自的name,age,sex这些数据。

    既然Student实例本身就拥有这些数据,要访问这些数据,就没有必要从

    外面的函数去访问,可以直接在Student类的内部定义访问数据的函数,

    这样,就把“数据”给封装起来了。这些封装数据的函数是和Student类本

    身是关联起来的,我们称之为类的方法:


    class Student(object):

        def __init__(self, name, age, sex):

            self.name = name

            self.age = age

            self.sex =sex


        def print_message(self):

            print('%s:%s:%s' % (self.name, self.age, self.sex))


    res = Student('Jake', 60, '男')

    res.print_message()#Jake:60:男


    这样一来,我们从外部看Student类,就只需要知道,创建实例需要给出name,age,sex

    而如何打印,都是在Student类的内部定义的,这些数据和逻辑被“封装”起来了,调用很

    容易,但却不用知道内部实现的细节。封装的另一个好处就是,可以给Student类增加新

    的方法。


    总结:

        1.类是创建实例的模板,而实例则是一个一个具体的对象,各个实例拥有的数据都是

        互相独立的,互不影响。

        2.方法就是与实例绑定的函数,和普通函数不同,方法可以直接返回实例的数据。

        3.Python允许对实例变量绑定任何数据,也就是说,对于两个实例变量,虽然他们

        都是同一类的不同实例,但拥有的变量名称都可能不同。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,211评论 4 16
  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 2,256评论 1 6
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,793评论 2 16
  • 欢迎关注幼儿说,用简书的妈咪,都是有品味的母亲 在我们身边总有一些“烂好人”,他们随和、好说话、人际关系好,但当他...
    幼儿说阅读 1,736评论 0 1
  • 这一篇每个动作我都想画出来 她喜欢一出来阳台就躺下翻来滚去,我能想象在晒着阳光同时贴着热地板对一只猫科动物多舒服,...
    我是KiShua阅读 185评论 3 3