当前位置: 首页 > news >正文

python中的OOP

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

直接上代码,已经在后面有注释了

#coding:utf8

name = 'yangyanxing'
class Test():
    class kevin():
        var1 = '我是内部类'

    name = 'kvein'
    gae = '26'

    def fun1(self):
        print self.name
        print '我是公共方法'
        self.__fun2() #可以通过公有就去来调用私有方法,在调用的过程中可以进行更改

    def __fun2(self):
        print '我是私有方法'

    @classmethod
    def fun3(self): #可以不通过实例来访问这个类方法
        print '#'*40
        print self.name
        print '我是类方法'

    @staticmethod #静态方法,也是可以不通过实例对象就可以访问的方法但是在定义的时候不用加self
    def fun4():
        print Test.name
        print name #这里的name是全局变量
        Test.fun3()
        print '我是静态方法'

print Test.name #公有属性可以直接方法,不用实例化对象
yang = Test() #实例化一个类
interyang = Test.kevin() #实例化一个内部类
yang.fun1() #方法类里面的公共属性
print interyang.var1 # 访问内部类里的属性
Test.fun3()#访问类方法
Test.fun4()
#coding:utf8

class Test():
    var1 = '类的公有属性'
    __var2 = '类的私有属性'

    def fun(self):
        self.var2 = '对象的公有属性' # 这里定义了一个对象的公有属性
        self.__var3 = '对象的私有属性'# 这里定义了一个对象的私有属性
        var4 = '函数的局部变量' #这里定义了一个函数的局部变量,这里面的var4只有在函数内部使用

kevin = Test() #实例了一个对象
yang = Test() #又实例了另外一个对象
print kevin.var1
##print kevin.__var2 #这里将无法访问
kevin.fun()
print kevin.var2 #在没有调用fun函数之前是没有var2的
##print kevin.__var3 对象的私有属性是无法调用的
##print yang.var2 #这里因为没有调用yang的fun方法,所以还是无法访问yang里的var2

转载于:https://my.oschina.net/yangyanxing/blog/159221

相关文章:

  • 企业级nginx服务优化(四 )伪静态+php.ini
  • 汇编语言(王爽)-第十二章
  • 小酌重构系列[7]——使用委派代替继承
  • Build Web Apps in Node and Express视频下载
  • Android读取Excel文件
  • 微信公众平台开发文摘
  • AC Again hdoj 1582 搜索
  • 单一职责原则
  • 消息传递系统
  • 简单的SocketExample
  • jQuery 定位到页面具体位置
  • mysql-proxy 实现读写分离
  • WebService之Axis2快速入门(7): Spring与axis整合发布为WebServic
  • backtrack学习之路之metasploit的安装过程
  • Property Animation框架详解(一)
  • 自己简单写的 事件订阅机制
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • axios 和 cookie 的那些事
  • ES6核心特性
  • exports和module.exports
  • Flex布局到底解决了什么问题
  • Git初体验
  • Nodejs和JavaWeb协助开发
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • Python socket服务器端、客户端传送信息
  • sublime配置文件
  • ubuntu 下nginx安装 并支持https协议
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • Vue实战(四)登录/注册页的实现
  • Vultr 教程目录
  • 半理解系列--Promise的进化史
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 基于组件的设计工作流与界面抽象
  • 坑!为什么View.startAnimation不起作用?
  • 浅谈web中前端模板引擎的使用
  • 如何解决微信端直接跳WAP端
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 小程序 setData 学问多
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 1.Ext JS 建立web开发工程
  • 阿里云API、SDK和CLI应用实践方案
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • ​第20课 在Android Native开发中加入新的C++类
  • (31)对象的克隆
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (二)构建dubbo分布式平台-平台功能导图
  • (十)T检验-第一部分
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)shell调试方法
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .a文件和.so文件
  • .NET Core 中的路径问题