【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爬虫通常涉及以下几个核心库: 1. **requests**: 这是Python的一个HTTP客户端库,用于...
Python脚本文件,使用Python爬取今日头条指定专栏分类的热门文章,并将文章保存到MySQL数据库中 实现今日头条热门文章数据爬取
python爬虫,Scrapy抓手机App数据并存入MongoDB(今日头条)python爬虫,Scrapy抓手机App数据并存入MongoDB(今日头条)python爬虫,Scrapy抓手机App数据并存入MongoDB(今日头条)python爬虫,Scrapy抓手机App数据...
│ │ ├03今日内容概要.avi │ │ ├04Html本质以及在web程序中的作用(一).avi │ │ ├05Html本质以及在web程序中的作用(二).avi │ │ ├06Html本质以及在web程序中的作用(三).avi │ │ ├07html的head内...
在本实践案例中,我们将深入探讨如何利用Python爬虫技术批量获取今日头条街拍美图。首先,我们需要了解Python爬虫的基础知识,这是整个项目的核心。 Python爬虫是通过编写特定的代码来自动化网络数据抓取的过程。在...
【标题】"Python-今日头条的百万英雄答题助手"揭示了一个基于Python编程语言的项目,旨在为参与今日头条举办的“百万英雄”答题活动的用户提供自动化辅助工具。这个助手软件可能包括自动搜索答案、定时提交答案等...
今日内容概要以及CMDB介绍.avi Python3.5-02.前端插件定制之表头.avi Python3.5-03.前端插件定制之表内容.avi Python3.5-04.前端插件定制之定制td内容以及属性.avi Python3.5-05.CMDB插件示例演示
今日头条爬虫技术说明 ========== 整体思路 -------- 1. 抓取今日头条app的数据包 2. 分析数据包,找出请求的数据(如文章列表,文章url等) 3. 根据文章url等信息,抓取文章内容 4. 若文章中包含视频,则取视频...
完整python项目,可以自己运行。利用python爬虫 爬取今日头条后台数据。然后使用flask框架 实现自己的后台 ,通过爬虫获取 今日头条数据。html实现前端 显示数据。网站UI一级界面自己实现,仿照今日头条网站
【今日校园自动化】是一个利用Python编程语言开发的爬虫项目,其主要目的是为了实现对学生日常校园生活的便捷管理,包括但不限于自动签到、信息采集以及查寝等周期性表单任务的自动化处理。该项目的核心在于通过...
爬取今日头条列表以及今日头条详情内容并存储到数据库。
python爬虫爬取今日头条街拍美女图片,并按照标题建立文件夹保存在本地文件夹内
本案例"Python今日头条爬虫.zip"是一个基于Python实现的爬虫项目,旨在抓取和分析今日头条网站上的新闻数据。这个项目对于学习Python爬虫技术、了解网络数据抓取流程以及实践数据挖掘的应用具有很高的价值。 首先,...
message = '今日新闻推送' task = MultiTagTask(app, tags, message) response = task.push() print(response) ``` 在处理推送响应时,需要注意错误码和返回的详细信息,以便于调试和优化推送效果。腾讯信鸽SDK...
- **知识点概述**:介绍如何使用Python爬虫技术抓取今日头条的新闻资讯。 - **关键内容**: - 网页请求与响应; - 文章内容提取; - 数据持久化。 - **实践意义**:了解主流新闻网站的爬取方法,掌握新闻聚合应用...
5. **实战应用 - 爬取今日头条**:今日头条是一款新闻聚合平台,其内容往往采用动态加载。通过selenium和phantomjs,我们可以模拟用户浏览行为,获取到原本无法通过常规爬虫抓取的文章列表、标题、作者等信息,...
所学Python技术设计并实现一个功能完整的系统,并撰写总结报告。 要求: (1)实现时需要至少使用图形界面、多线程、文件操作、数据库编程、网页爬虫、统计 分析并绘图(或数据挖掘)六项技术,缺一不可。少一项则...
标题中的“touTiao爬虫今日头条python爬取数据生成词云”暗示了这是一个关于使用Python编程语言构建爬虫来抓取今日头条网站上的数据,并进一步处理这些数据以生成词云的项目。词云是一种视觉化的数据展示方式,常...