2025年对象不具有prototype属性(对象不支持print_init属性或方法)

对象不具有prototype属性(对象不支持print_init属性或方法)nbsp 封装 enclosure nbsp nbsp nbsp nbsp 封装是值隐藏类的实现细节 让使用者不关心这些细节 nbsp nbsp nbsp nbsp 封装的目的是让使用者通过尽可能少的方法 或属性 操作对象 nbsp nbsp 私有属性和方法

大家好,我是讯享网,很高兴认识大家。



  •  封装 enclosure

    私有属性和方法
        python类中,以双下划线(””)开头,不以双下划线结尾的标识符为私有成员,私有成员只能使用该类的方法来进行访问和修改
            1.以

开头的属性为私有属性
            2.以__开头的方法为私有方法
        示例:   







 

  •     多态 polymocphic

        状态:
            静态(编译时状态)
            动态(运行时状态)
        说明:
            多态调用的方法和对象相关,不写类型相关
            python全部对象只有’运行时状态(动态)‘,
            没有’c++语言’里的编译时状态(静态)
        示例:



















    面向对象编程语言的特征:
        继承
        封装
        多态







 

 

  •     函数重写 overwrite

    什么是函数重写
            在自定义的类内添加相应的方法,让自定义的类创建的实例能够使用内建函数进行操作
    对象转字符串函数
        repr(x) 返回一个能表示python对象的表达式字符串,通常
            evel(rerp(obj)) == obj
        str(x) 通过给定的对象返回一个字符串(这个字符串通常供人阅读)
    示例:
















 

    对象转字符串函数的重写方法:

        repr()函数的重写方法:
            def repr(self):
                return 字符串




        str()函数的重写方法:
            def str(self):
                return 字符串




        str(obj)函数调用方法说明:
            1.str(obj)函数先查找obj.str方法,调用此方法并返回结果
            2.如果obj.str()方法不存在,则调用obj.repr方法
              并返回结果
            3.如果obj.repr方法不存在,则调用object类的repe
              实例方法显示<main.XXXX object at 0xXXXXXXX>格式的
              字符串
















            示例:
                

    内建函数重写
        方法名                                 函数名
    def abs(self):                  abs(obj)  函数调用
    def len(self):                  len(obj)  函数调用
    def reversed(self):             reversed(obj)  函数调用
    def round(self):                round(obj)  函数调用














讯享网

    示例:
        

    数值转换函数的重写:
    def complex(self):              complex(obj)函数调用
    def init(self):                 init(obj)   函数调用
    def float(self):                float(obj)  函数调用
    def bool(self):                 bool(obj)   函数调用
    示例见:
        
















    布尔测试函数的重写


 

 

  •     迭代器(高级)

        什么是迭代器
        由iter(x)函数返回,可以通过next(it)函数取值的对象就是迭代器

        迭代器协议:
            迭代器协议是指对象能够使用next()函数获取下一项数据,在没有下一项数据时,触发一个StopIteration

            异常来终止迭代的约定

        什么是可迭代对象
            是指能用iter(obj)函数返回迭代器的对象(实例)
            可迭代对象内部都要定义iter(self)方法来返回迭代器对象




 

小讯
上一篇 2025-05-22 13:48
下一篇 2025-04-17 21:26

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/204636.html