`
zhanyingle_1981
  • 浏览: 326376 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

今日python

 
阅读更多

【http://www.morningprincess.com/python_staticmethod_and_classmethod/】

Python中staticmethod和classmethod的区别

 

定义方式,传入的参数,调用方式都不相同。

staticmethod 不需要传入self和cls对象,只有一般的参数。可以通过实例或类对象进行调用。

classmethod需要传入cls对象,可以通过实例和类对象进行高用。

一般的method需要传入self实例对象。
staticmethod,classmethod相关于全局方法,一般用在抽象类或父类中。一般与具体的类无关。

staticmethod
基本上和一个全局函数差不多,只不过可以通过类或类的实例对象(python里说光说对象总是容易产生混淆,因为什么都是对象,包括类,而实际上类实例对象才是对应静态语言中所谓对象的东西)来调用而已,不会隐式地传入任何参数。这个和静态语言中的静态方法比较像。

classmethod
是和一个class相关的方法,可以通过类或类实例调用,并将该class对象(不是class的实例对象)隐式地当作第一个参数传入。就这种方法可能会 比较奇怪一点,不过只要你搞清楚了python里class也是个真实地存在于内存中的对象,而不是静态语言中只存在于编译期间的类型,就好办了。 正常的方法就是和一个类的实例对象相关的方法,通过类实例对象进行调用,并将该实例对象隐式地作为第一个参数传入,这个也和其它语言比较像。

区别:类方法需要额外的类变量cls,当有之类继承时,调用类方法传入的类变量cls是子类,而不是父类。类方法和静态方法都可以通过类对象和类的 实例对象访问。

 

'''
Created on 2012-3-23

@author: leonzhan
'''

class Foo1:
    str = "I'm a static method, Foo1."
   
    @staticmethod
    def bar():
        print Foo1.str
Foo1.bar()


class Foo11(Foo1):
    str = "I'm a static method, Foo11."
    @staticmethod
    def bar():
        print Foo11.str
Foo11.bar()


class Foo2:
    str = "I'm a class method."
    @classmethod
    def bar(cls):
        print cls.str
Foo2.bar()

class Foo21(Foo2):
    str="I'm class method Foo21"
    @classmethod
    def bar(cls):
        print cls.str

Foo21.bar()

if __name__ == '__main__':
    pass

 

 

 

 

Python Decorator:

         http://yzjklove.iteye.com/blog/544427

 

 

分享到:
评论

相关推荐

    python爬取今日头条视频

    本教程将深入探讨如何使用Python来爬取今日头条平台上的视频数据。首先,我们要理解Python爬虫的基本原理和常用的库。 Python爬虫通常涉及以下几个核心库: 1. **requests**: 这是Python的一个HTTP客户端库,用于...

    Python爬取今日头条热门文章

    Python脚本文件,使用Python爬取今日头条指定专栏分类的热门文章,并将文章保存到MySQL数据库中 实现今日头条热门文章数据爬取

    python爬虫,Scrapy抓手机App数据并存入MongoDB(今日头条)

    python爬虫,Scrapy抓手机App数据并存入MongoDB(今日头条)python爬虫,Scrapy抓手机App数据并存入MongoDB(今日头条)python爬虫,Scrapy抓手机App数据并存入MongoDB(今日头条)python爬虫,Scrapy抓手机App数据...

    老男孩Python完美实战课程 14期视频教程 28周Python视频教程 1-14周部分

    │ │ ├03今日内容概要.avi │ │ ├04Html本质以及在web程序中的作用(一).avi │ │ ├05Html本质以及在web程序中的作用(二).avi │ │ ├06Html本质以及在web程序中的作用(三).avi │ │ ├07html的head内...

    Python爬虫实战案例源码-批量爬取今日头条街拍美图

    在本实践案例中,我们将深入探讨如何利用Python爬虫技术批量获取今日头条街拍美图。首先,我们需要了解Python爬虫的基础知识,这是整个项目的核心。 Python爬虫是通过编写特定的代码来自动化网络数据抓取的过程。在...

    Python-今日头条的百万英雄答题助手

    【标题】"Python-今日头条的百万英雄答题助手"揭示了一个基于Python编程语言的项目,旨在为参与今日头条举办的“百万英雄”答题活动的用户提供自动化辅助工具。这个助手软件可能包括自动搜索答案、定时提交答案等...

    Python3.5高级拓展篇.zip

    今日内容概要以及CMDB介绍.avi Python3.5-02.前端插件定制之表头.avi Python3.5-03.前端插件定制之表内容.avi Python3.5-04.前端插件定制之定制td内容以及属性.avi Python3.5-05.CMDB插件示例演示

    基于Python的爬取今日头条文章及视频+源代码+文档说明

    今日头条爬虫技术说明 ========== 整体思路 -------- 1. 抓取今日头条app的数据包 2. 分析数据包,找出请求的数据(如文章列表,文章url等) 3. 根据文章url等信息,抓取文章内容 4. 若文章中包含视频,则取视频...

    完整python项目,python爬虫 爬取今日头条后台数据,使用flask框架 。html实现前端

    完整python项目,可以自己运行。利用python爬虫 爬取今日头条后台数据。然后使用flask框架 实现自己的后台 ,通过爬虫获取 今日头条数据。html实现前端 显示数据。网站UI一级界面自己实现,仿照今日头条网站

    今日校园自动化是一个基于Python的爬虫项目,主要实现今日校园签到、信息收集、查寝等循环表单的自动化任务.zip

    【今日校园自动化】是一个利用Python编程语言开发的爬虫项目,其主要目的是为了实现对学生日常校园生活的便捷管理,包括但不限于自动签到、信息采集以及查寝等周期性表单任务的自动化处理。该项目的核心在于通过...

    python爬今日头条详情

    爬取今日头条列表以及今日头条详情内容并存储到数据库。

    python爬虫爬取今日头条街拍美女图片

    python爬虫爬取今日头条街拍美女图片,并按照标题建立文件夹保存在本地文件夹内

    Python今日头条爬虫.zip

    本案例"Python今日头条爬虫.zip"是一个基于Python实现的爬虫项目,旨在抓取和分析今日头条网站上的新闻数据。这个项目对于学习Python爬虫技术、了解网络数据抓取流程以及实践数据挖掘的应用具有很高的价值。 首先,...

    腾讯信鸽Python SDK

    message = '今日新闻推送' task = MultiTagTask(app, tags, message) response = task.push() print(response) ``` 在处理推送响应时,需要注意错误码和返回的详细信息,以便于调试和优化推送效果。腾讯信鸽SDK...

    python 学习视频

    - **知识点概述**:介绍如何使用Python爬虫技术抓取今日头条的新闻资讯。 - **关键内容**: - 网页请求与响应; - 文章内容提取; - 数据持久化。 - **实践意义**:了解主流新闻网站的爬取方法,掌握新闻聚合应用...

    Python-基于Python3的动态网站爬虫

    5. **实战应用 - 爬取今日头条**:今日头条是一款新闻聚合平台,其内容往往采用动态加载。通过selenium和phantomjs,我们可以模拟用户浏览行为,获取到原本无法通过常规爬虫抓取的文章列表、标题、作者等信息,...

    stm32进阶温度计与python上位机

    stm32进阶温度计与python上位机。具体功能如下: 单片机:1、温度传感器数据读取与解析 2、OLED显示温度,对应的pwm,温度上下限。 3、LED、蜂鸣器在温度超范围时闪烁、报警。...UART3(COM3):显示今日曲线和历史曲线。

    python爬虫大作业报告+代码

    所学Python技术设计并实现一个功能完整的系统,并撰写总结报告。 要求: (1)实现时需要至少使用图形界面、多线程、文件操作、数据库编程、网页爬虫、统计 分析并绘图(或数据挖掘)六项技术,缺一不可。少一项则...

Global site tag (gtag.js) - Google Analytics