`

python OO之静态方法

阅读更多

边试边整理吧:

不支持方法重载, 和javascript一样,后面定义的method会覆盖前面的

 

普通方法,self指向类的实例

 

 

静态方法,需要在方法定义上面加上注解@staticmethod,此时方法参数中不加self指针

 

 

比java多出一类方法的概念(java中静态方法和类方法是一个概念)

需要加上@classmethod注解

此时方法参数中self指向类的定义。。相当于指向java.lang.Class类

 

 

class MyClass:
    
    def instanceMethod(self):
        print 'instance method, self=',self

    @classmethod
    def classMethod(self):
        print 'class method, self=',self

    @staticmethod
    def staticMethod():
        print 'static method, self=null'

m = MyClass()

#instance method, self= <__main__.MyClass instance at 0x012538F0>
m.instanceMethod()

#class method, self= __main__.MyClass
MyClass.classMethod()

#static method, self=null
MyClass.staticMethod()
0
0
分享到:
评论

相关推荐

    作业1:Java、C++和Python的OO特性调研报告1

    - Python 提供了动态类型系统,变量在运行时可以存储不同类型的值,而 Java 和 C++则是静态类型语言,变量的类型在编译时就已经确定。 - Python 的垃圾回收机制自动化管理内存,程序员无需手动管理,而 Java 和 C++...

    alura-python-avancando-oo

    Python中的方法有三种类型:实例方法(与对象关联,第一个参数通常是`self`),类方法(与类关联,第一个参数是`cls`),以及静态方法(与类关联,但不接收`self`或`cls`参数)。这些方法在处理类和对象时各有用处...

    【ASP.NET编程知识】aspnetcore 实现简单的伪静态化功能.docx

    将伪静态路由放在默认路由之前,这样当请求匹配到伪静态规则时,就会先执行相应的控制器方法,而不是默认的路由处理。例如: ```csharp app.UseMvc(routes =&gt; { routes.MapRoute("Notice", "/Notice/{path}.html",...

    【ASP.NET编程知识】ASP.NET Core静态文件的使用方法.docx

    以下是对ASP.NET Core静态文件使用方法的详细解释: 1. **静态文件位置和访问**: - 默认情况下,静态文件存储在`wwwroot`目录下,这是ASP.NET Core应用的Web根目录。可以通过`UseContentRoot()`方法设置内容根...

    【ASP.NET编程知识】ASP.NET Core中预压缩静态文件的方法步骤.docx

    ASP.NET Core 中预压缩静态文件的方法步骤 ASP.NET Core 中预压缩静态文件的方法步骤是指在 ASP.NET Core 应用程序中,如何将静态文件预压缩,以减少网络带宽和服务器 CPU 负载。预压缩静态文件可以在服务器端完成...

    【ASP.NET编程知识】Asp.Net生成静态页面的实现方法.docx

    ASP.NET生成静态页面的实现方法 本文档主要介绍了使用ASP.NET编程语言生成静态页面的实现方法。通过该方法,可以将新闻标题、内容、背景色、字体颜色、字体大小等信息存储到数据库中,并生成静态的HTML页面。 知识...

    【ASP.NET编程知识】ASP.NET静态页生成方法.docx

    在 ASP.NET 中,静态页生成是提高网站性能的一个常见策略,因为它减少了服务器处理请求的负担,加快了页面加载速度。 静态页面生成主要涉及到以下几个关键点: 1. **模板页**:模板页是包含静态内容和动态占位符的...

    【ASP.NET编程知识】.Net Core中间件之静态文件(StaticFiles)示例详解.docx

    默认情况下,只需在`Configure`方法中添加一行`app.UseStaticFiles()`,即可启用静态文件服务,所有位于wwwroot目录下的文件都可以被访问。例如: ```csharp public void Configure(IApplicationBuilder app, ...

    day04【IDEA、方法】.zip

    在实际开发中,我们还会接触到静态方法和非静态方法。静态方法属于类,而非静态方法属于类的对象。静态方法可以通过类名直接调用,而无需创建对象,常用于工具类。非静态方法则需要先创建对象,然后通过对象调用。 ...

    python如何派生内置不可变类型并修改实例化行为

    `__new__`是类的静态方法,是创建实例对象时第一个被调用的方法,它负责返回创建的实例对象。在我们的案例中,`__new__`方法被用来接收一个可迭代对象作为参数,并对这个对象进行预处理,生成一个新的可迭代对象。...

    理解java和python类变量以及类的成员变量

    `add` 方法展示了如何修改类变量,`print` 方法则显示了类变量和成员变量的内存地址,表明它们是独立的。 总结来说,类变量在Java和Python中都是共享的,由类的所有实例共享,而成员变量是每个实例独有的。类变量...

    oo甜品

    【oo甜品】项目是一个基于Python开发的甜品制作与分享平台。这个项目的名称可能源于“OO”在编程中的对象导向概念,暗示了其结构化的特性。从标签“Python”我们可以推断,该项目主要使用Python语言进行编程,可能是...

    【ASP.NET编程知识】浅谈ASP.NET Core静态文件处理源码探究.docx

    在源码中,`StaticFileExtensions`类提供了注册`UseStaticFiles`的方法,该方法实际上会调用`StaticFileMiddleware`中间件。 2. `UseDefaultFiles`中间件用于处理默认索引文件,比如当用户访问一个目录而不是具体的...

    【ASP.NET编程知识】ASP.NET Core如何实现简单的静态网站滚动更新.docx

    在本文中,我们将探讨如何使用ASP.NET Core实现简单的静态网站滚动更新,以确保在更新过程中提供一致且无中断的用户体验。 首先,我们需要理解什么是“滚动更新”。滚动更新是一种部署策略,允许在不中断服务的情况...

    【JavaScript源代码】php类中static与self的使用区别浅析.docx

    也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。 静态绑定是PHP 5.3.0,增加的一个功能 用于在继承范围内引用静态调用的类 php类中static和self的区别,php类的定义中经常能看到self和...

    第11章 软件工程课件.pptx

    面向对象语言(OO语言)如Java、C++、Python等,具有显著的优点。首先,编码阶段相对简单,使得初级程序员也能参与。更重要的是,程序的阅读和理解在整个软件生命周期中占据重要地位,因此选择一种能够清晰表达问题...

    【ASP.NET编程知识】在 asp.net core 的中间件中返回具体的页面的实现方法.docx

    `Configure` 方法用于在 `Startup` 类中注册中间件,而 `Invoke`(或 `Async`)方法是处理实际请求的地方。 在描述的示例中,我们关注的是如何在中间件中展示静态页面。这通常涉及到以下步骤: 1. **创建中间件**...

    【ASP.NET编程知识】实例解析Java中的synchronized关键字与线程安全问题.docx

    3. **synchronized 静态方法**:`synchronized`关键字可以用于静态方法,这将使得所有类的实例共享同一把锁,确保任何时候只有一个线程执行该静态方法。 4. **synchronized 类(类锁)**:可以使用 `synchronized` ...

    面向對象開發

    "OO"标签通常指的是面向对象,意味着这个话题或项目与面向对象编程、分析或设计有关,可能涉及如何使用面向对象的语言(如Java、C++、Python等)来解决问题。 **文件名称列表(OO)**: 虽然没有提供具体的文件内容...

Global site tag (gtag.js) - Google Analytics