美文网首页
python 面向对象学习

python 面向对象学习

作者: Json____ | 来源:发表于2025-03-18 15:24 被阅读0次
# class Ren(object):
#     name = '人'
#     high = '一人高'
#     wight = '一人重'
#     # 私有属性
#     __money = '我有十块钱'
#     __age = 20
#     def run(self):
#         print(self.name)
#         print('跑步')
#     def say(self):
#         lie = '我很欣赏你'
#         print(self.__money)
#         print(lie)
#         # 私有调用 在函数内进行调用
#         self.__lie()
#      # 私有方法
#     def __lie(self):
#          lie = '我很欣赏你'
#          print(lie)
#     # 获取私有属性的值
#     def get(self,g):
#         if g == 'money':
#             return self.__money
#         else:
#             return self.__age
#     # 设置值
#     def set(self,g):
#         self.__age = g
#     # 被 classmethod() 函数处理过的函数 能被类所调用也能被对象所调用
#     # 消耗低 动态方法
#     # 这种形式叫 装饰器
#     # @classmethod
#     def moRi(self):
#         print('世界末日')
#      # 被 classmethod() 函数处理过的函数 能被类所调用也能被对象所调用
#     # 这种形式叫 函数转换
#     mr = classmethod(moRi)
#     # 静态方法  通过staticmethod() 定义静态方法没有self语句
#     # 静态方法速度快
#     # @staticmethod
#     def roRi():
#         print('世界末日吗')
#     ro = staticmethod(roRi)
# if __name__ == '__main__':
    # zhangsan = Ren()
    # print(zhangsan.say())
    # print(zhangsan.get('money'))
    # print(zhangsan.get('age'))
    # print(zhangsan.set(30))
    # print(zhangsan.get('age'))
    # print(zhangsan.name)
    # Ren.mr()
    # Ren.ro()
    # 私有方法不能再外部访问
   # print(zhangsan.__lie)
 
# 方法的定义
# 和函数定义一样 但是需要self作为第一个参数
# 类方法也分为 公有方法和私有方法
# 私有方法: 不能被外部的类和方法调用,私有方法的定义和私有属性的定义都一样,在方法的前面
# 加上 __ 双下划线就可以了
# 类方法 被 classmethod() 函数处理过的函数 能被类所调用也能被对象所调用
# 静态方法: 相当于 全局函数 可以被类直接调用 可以被所有实例对象共享
# 通过staticmethod() 定义静态方法没有self语句
# self 参数:
# 用于区分函数和类的方法 self 参数表示指向对象本身
 
# python 对象高级
# 内部类 与 魔术方法
# 所谓的内部类 就是在类的内部定义的类
# 主要目的是为了更好的抽象现实世界
class Milo():
    class Test():
        var1 = '我是内部类'
    # 构造函数 在实例化的时候调用
    def __init__(self):
        print('你好,我是构造函数')
    # 在使用类的时候 会自动触发
    def __str__(self):
        return '我是Milo类的实例化的对象'
 
    # 析构函数 在释放的时候调用
    def __del__(self):
        print('我是析构函数')
# 怎么调用类中的内部类
milo = Milo()
test = milo.Test()
print(test.var1)
# 这样比较复杂 所以
test = Milo.Test()
print(test.var1)
print(milo)
 
# 类的继承
# 面向对象的变成带来的主要好吃之一就是代码重用 实现这种重用方法之一通过继承机制
# 通过继承创建的心类 称为子类或派生类 被继承的类称为基类 父类 或者 超类
# 继承语法
# 如果在子类中需要父类的构造方法就需要显示的调用父类的构造方法 或者补充协议父类的构造方法
# 在调用基类的方法时 需要加上基类的类名前缀 且需要带上self参数变量 区别在于类中调用普通函数时
# 并不需要带上 self参数
class Whl(Milo):
    def __init__(self):
        print('子类的构造方法')
 
whl = Whl()
print(whl)

相关文章

  • python面向对象学习笔记-01

    学习笔记 # 0,OOP-Python面向对象 - Python的面向对象 - 面向对象编程 - 基础 -...

  • Python精简入门学习(十四)

    Python精简入门学习之面向对象(oop) -面向对象 -类和对象

  • python学习笔记目录

    Python学习笔记目录(倒序) Python学习-异常 Python学习-面向对象 Python学习-文件系统 ...

  • Python学习-面向对象

    查看所有Python相关学习笔记 面向对象 面向对象知识点汇总: 面向对象静态属性实例属性(self)静态方法(@...

  • Python 面向对象编程

    Python 面向对象编程(一) Python 面向对象编程(一) 虽然Python是解释性语言,但是它是面向对象...

  • 22.Python编程:封装、继承、多态

    前面学习了面向过程和面向对象的概念,又学习了Python中类和对象的相关知识,其中面向对象最大的特征是:封装、继承...

  • python基础-02

    Python 面向对象 python是一门面向对象的语言 Python内置类属性 python对象销毁(垃圾回收)...

  • 王艳华Pythonday03

    Python的面向对象 Java 面向对象 继承

  • Python是一门纯粹的面向对象语言?

    我之前就在学习Python,而Python自己也说了自己是一门纯粹的面向对象语言.包括int类型都是对象.所谓面向...

  • 10.28

    看海量数据处理部分题目 学习python面向对象

网友评论

      本文标题:python 面向对象学习

      本文链接:https://www.haomeiwen.com/subject/xkmamjtx.html