一 Python中内部类

典型定义:

class MyOuter:age=18def __init__(self,name):self.name=nameclass MyInner:def __init__(self,inner_name):self.inner_name=inner_nameout=MyOuter('lqz')
inner=out.MyInner('lqz_inner')
print(inner.inner_name)

二 内部类调用外部类的属性和方法

(注意是类属性和类方法,不是对象属性和对象的绑定方法)

class MyOuter:age=18def __init__(self,name):self.name=name@classmethoddef outer_class_method(cls):print('我是外部类的类方法')class MyInner:def __init__(self,inner_name):self.inner_name=inner_namedef inner_method(self):print('我是内部类的对象方法')MyOuter.outer_class_method()out=MyOuter('lqz')
inner=out.MyInner('lqz_inner')
inner.inner_method()

三 内部类调用外部对象的对象属性和方法

需要在内部类构造的时候,把对象传过来

class MyOuter:age=18def __init__(self,name):self.name=name@classmethoddef outer_class_method(cls):print('我是外部类的类方法')def outer_obj_method(self):print('我是外部类对象的绑定方法')class MyInner:def __init__(self,inner_name,obj):self.inner_name=inner_nameself.obj=objdef inner_method(self):print('我是内部类的对象方法')MyOuter.outer_class_method()self.obj.outer_obj_method()out=MyOuter('lqz')
inner=out.MyInner('lqz_inner',out)
inner.inner_method()

转载于:https://www.cnblogs.com/liuqingzheng/p/9504210.html

Python内部类,内部类调用外部类属性,方法相关推荐

  1. 内部类如何调用外部类的方法

    内部类如何调用外部类的方法 直接上代码 public class test{public static void main(String[] args) {Outer.Inner p=new Oute ...

  2. java外部类_Java里什么叫内部类什么叫外部类

    展开全部 对普通类(没有内部类的类)来说,62616964757a686964616fe78988e69d8331333337396234内部类和外部类都与他无关:对有内部类的类来说,它们就是其内部类 ...

  3. 反编译中内部类调用外部类成员问题

    .access$ 反编译偶内部类调用外部类成员问题 很简单的一个测试类源码: public class testOuter { private int a; private int b; privat ...

  4. 深入理解Java中为什么内部类可以访问外部类的成员

    内部类简介 虽然Java是一门相对比较简单的编程语言,但是对于初学者, 还是有很多东西感觉云里雾里, 理解的不是很清晰.内部类就是一个经常让初学者感到迷惑的特性. 即使现在我自认为Java学的不错了, ...

  5. 在Java内部类中使用外部类的成员方法以及成员变量

    http://blog.csdn.net/zhongyili_sohu/article/details/8975947 众所周知,在定义成员方法或者成员变量的时候,可以给其加上一些权限的修饰词,以防止 ...

  6. c++接口调用外部类_Java基础:Java语法糖4之内部类

    内部类 最后一个语法糖,讲讲内部类,内部类指的就是在一个类的内部再定义一个类. 内部类之所以也是语法糖,是因为它仅仅是一个编译时的概念,outer.java里面定义了一个内部类inner,一旦编译成功 ...

  7. python 打印对象的全部属性_详解:Python 面向对象静态方法、类方法、属性方法知识点小结...

    今天为大家带来的内容是介绍了Python 面向对象静态方法.类方法.属性方法,总结分析了Python 面向对象程序设计中静态方法.类方法.属性方法相关概念.知识点.操作技巧与使用注意事项,需要的朋友可 ...

  8. python调用oracle存,Python使用cx_Oracle调用Oracle存储过程的方法示例

    本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法.分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL. 首先,在数据库端 ...

  9. python中子类调用父类的初始化方法

    http://bestchenwu.iteye.com/blog/1044848 http://www.crazyant.net/1303.html 一直不太理解python的初始化方法,今天找了下资 ...

最新文章

  1. Python 基础 一
  2. sports at liverpool
  3. SAP CRM系统到底有多少种订单类型
  4. WindowsAPI-Findwindow函数和FindWindowEx用法
  5. python etree模块所有函数详解_Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件,封装函数...
  6. MVC公司架构介绍——自运行任务
  7. 王道计算机网络 第三章 数据链路层
  8. Pubwin数据备份专家官方版
  9. QQ音乐推荐歌单API报错 invalid referer
  10. dnf台服空白mysql文件夹_关于雨泪大神的架设教程遇到的各种问题的解决办法
  11. 计算机网络高级教程.pdf,网络技术-计算机网络(高级教程).pdf
  12. 零基础HTML入门教程(11)——换行br
  13. 智能优化算法:闪电搜索算法-附代码
  14. GCC背后的故事OpenCV相逢何必曾相识
  15. 刀片服务器怎么连接显示屏,CMC是如何连接的 刀片管理模块的秘密
  16. 安徽电信翼拍照显示服务器异常,人像拍照环境指南
  17. 安卓桌面软件哪个好_Mac桌面壁纸软件哪个好?7款好用的mac壁纸软件推荐,从此告别壁纸荒...
  18. ST电机库v5.4.4源代码分析(10): MCWB应用中的一个小技巧
  19. MATLAB语言基础学习之ls函数
  20. 2020java面试必问,找不到工作你找我(一)

热门文章

  1. js获取宽度设置thickbox百分比
  2. iOS :UIPickerView reloadAllComponets not work
  3. 【技术贴】火狐的悬停激活标签扩展插件下载。Tab Focus
  4. docker 安装 oracle12,使用Docker安装Oracle 12c
  5. 利用Nginx实现简易负载均衡
  6. 软件缺陷生命周期图示及当中涉及到的缺陷的状态
  7. c语言怎么创建一个h文件,求助C语言大佬 , 只会写到一个.c文件里 ,不会用.h头文件...
  8. 什么业务场景适合使用Redis?
  9. 用开放地址法中的线性探查法解决冲突实现哈希表的运算
  10. Nutanix CE on Lenovo W520 初探