- 浏览: 565241 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (618)
- java (109)
- Java web (43)
- javascript (52)
- js (15)
- 闭包 (2)
- maven (8)
- 杂 (28)
- python (47)
- linux (51)
- git (18)
- (1)
- mysql (31)
- 管理 (1)
- redis (6)
- 操作系统 (12)
- 网络 (13)
- mongo (1)
- nginx (17)
- web (8)
- ffmpeg (1)
- python安装包 (0)
- php (49)
- imagemagic (1)
- eclipse (21)
- django (4)
- 学习 (1)
- 书籍 (1)
- uml (3)
- emacs (19)
- svn (2)
- netty (9)
- joomla (1)
- css (1)
- 推送 (2)
- android (6)
- memcached (2)
- docker、 (0)
- docker (7)
- go (1)
- resin (1)
- groovy (1)
- spring (1)
最新评论
-
chokee:
...
Spring3 MVC 深入研究 -
googleyufei:
很有用, 我现在打算学学Python. 这些资料的很及时.
python的几个实用网站(转的) -
hujingwei1001:
太好了找的就是它
easy explore -
xiangtui:
例子举得不错。。。学习了
java callback -
幻影桃花源:
太好了,謝謝
Spring3 MVC 深入研究
python的类方法和类的静态方法,其实就是一个用@classmethod和@staticmethod修饰的类中的函数。其中类方法要在定义的时候指出在调用它时隐式赋给他的第一个参数,这个参数一般情况下是类本身(cls),这个有点像类的实例方法中代表类实例本身的self。类的静态方法在定义的时候就不用定义这个参数,因为他是静态方法不属于任何一个类实例。
========================================================================
类方法
classmethod( function)
Return a class method for function.
A class method receives the class as implicit first argument, just like an instance method receives the instance. To declare a class method, use this idiom:
为一个函数返回一个类方法
类方法隐式的接受类作为它的第一个参数,就像对象方法隐式的接受当前对象作为第一个参数一样.这样定义一个类方法:
class C:
@classmethod
def f(cls, arg1, arg2, ...): ...
The @classmethod form is a function decorator - see the description of function definitions in chapter 7 of the Python Reference Manual for details.
@classmethod是修饰方法的写法-请查阅Python手册第七章里面关于函数定义的描述.
It can be called either on the class (such as C.f()) or on an instance (such as C().f()). The instance is ignored except for its class. If a class method is called for a derived class, the derived class object is passed as the implied first argument.
它可以通过类调用(比如C.f()),也可以通过对象实例调用(比如C().f()).真正发挥作用的是类而不是类的实例对象.如果一个类方法被一个子类调用,这个子类的对象实例会作为第一个参数传给类方法.
Class methods are different than C++ or Java static methods. If you want those, see staticmethod() in this section. New in version 2.2. Changed in version 2.4: Function decorator syntax added.
Python的类方法不同于C++或Java的静态方法.如果你想要的是那样的静态方法,请查看staticmethod()方法,
=====================================================================
类的静态方法
staticmethod(function)
Return a static method for function.
为一个函数返回一个静态方法
A static method does not receive an implicit first argument. To declare a static method, use this idiom:
一个静态方法不接受一个隐式的第一个参数,要声明一个静态方法,用下面的方式:
class C:
@staticmethod
def f(arg1, arg2, ...): ...
The @staticmethod form is a function decorator – see the description of function definitions in Function definitions for details.
@staticmethod是一个函数修饰器。
It can be called either on the class (such as C.f()) or on an instance (such as C().f()). The instance is ignored except for its class.
可以通过类(C.f())或者类实例(C().f())来调用。通过类实例来调用起作用的其实是类,而不是类实例。
Static methods in Python are similar to those found in Java or C++. For a more advanced concept, see classmethod() in this section.
python的静态方法和java与c++中的很像。一些更高级的概念看classmethod()这一节。
For more information on static methods, consult the documentation on the standard type hierarchy in The standard type hierarchy.
关于静态函数更多的信息,看The standard type hierarchy中标准类型继承的文档。
发表评论
-
Django静态文件处理总结
2015-05-13 13:59 538原文地址:http://blog.csdn.net/wenxu ... -
原 异步非阻塞机制与多线程阻塞机制在处理并发耗时等待任务上的效率对比分析
2015-04-21 10:05 696原文地址:http://my.oschina.net/mall ... -
Django报错“_mysql_exceptions.Warning: Incorrect string value: ‘\xE6\xB5…’ for colu
2015-03-25 15:50 1000原文地址:http://www.tuicool.com/art ... -
django使用mysql时的中文存储问题 - [python]
2015-03-25 15:36 1505原文地址:http://www.blogbus.com/831 ... -
NIO学习笔记——解决“服务器端cpu占用率高”
2015-01-29 10:17 991原文地址:http://blog.csdn ... -
python 调用 php 实例
2014-06-23 14:09 2628原文地址:http://hi.baidu.com/ji_hai ... -
php调用python
2014-06-23 14:08 796原文地址:http://blog.163.com/darwin ... -
uwsgi python ssl编译问题记录
2014-06-19 14:24 878uwsgi python ssl编译问题记录 发表于6个月前( ... -
python2.7 安装ssl模块
2014-06-19 14:22 3221python2.7 安装ssl模块 2012-02-28 13 ... -
Centos6.5下升级Python 2.6.6 to python 2.7.3
2014-06-19 13:53 656Centos6.5下升级Python 2.6.6 to pyt ... -
翻译:redis-py 说明文件 (2012-05-30 17:55:52)
2014-06-04 10:22 459翻译:redis-py 说明文件 (2012-05-30 17 ... -
关于Redis的Python客户端的连接池问题
2014-06-04 10:21 626关于Redis的Python客户端的连接池问题 在一 ... -
Windows下 Python 安装包的配置
2014-03-22 10:23 6571、下载安装 Python python-2.7.2.msi ... -
[翻译]深入理解Tornado——一个异步web服务器
2014-03-07 15:16 1643[翻译]深入理解Tornado— ... -
多版本Python共存[支持使用pip安装包]
2014-02-28 10:59 1146多版本Python共存[支持使 ... -
Django 数据库访问性能优化
2013-09-05 15:22 684Django 数据库访问性 ... -
Python六大开源框架对比:Web2py略胜一筹
2013-08-21 11:29 829Python是一门动态、面向对象语言。其最初就是作为一门面向 ... -
Python 代码调试技巧
2013-08-15 18:11 874使用 pdb 进行调试 pdb 是 python 自带的 ... -
python urlencode 编码
2013-07-05 13:28 965urlencode 调用方法 urlencode的参 ... -
window下使用virtualenv
2013-06-30 15:26 1113--- window下使用virtualenv -- ...
相关推荐
Python类方法和静态方法
在Python编程语言中,类方法、实例方法和静态方法是面向对象编程的重要组成部分。它们各自有不同的用途和调用方式,帮助我们更好地组织和管理代码。接下来我们将深入探讨这些概念及其用法。 首先,实例方法是类中最...
- 类方法可以访问类的属性和方法。 - 类方法通常用于创建实例或修改类的状态。 **示例代码:** ```python class Person: count = 0 def __init__(self, name): self.name = name @classmethod def create_...
在Python编程中,类方法和静态方法是类中定义的函数,它们在处理与类相关的操作时非常有用。类方法通常用于操作类属性,而静态方法则用于执行与类无关的操作。本文将深入探讨Python中的类方法和静态方法,包括它们的...
在Python编程语言中,类的方法有两种特殊的形式:静态方法(Static Method)和类成员方法(Class Method)。这两种方法在设计模式、类的设计以及代码复用方面发挥着重要作用。本文将通过具体的代码示例,详细介绍这...
定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法); 调用:只能由实例对象调用。 类方法 定义:使用装饰器@classmethod。第一个参数...
在Python编程语言中,类和函数的静态变量通常是指那些在多次调用中保持其值不变的变量。静态变量在其他面向对象的语言如Java或C#中比较常见,但在Python中,由于其动态特性的存在,实现静态变量的方式稍有不同。本篇...
在Python编程中,类方法和静态方法是面向对象编程的重要组成部分。它们提供了不同的方式来实现代码的封装和复用。类方法至少需要一个类作为第一个参数,通常用于访问和修改类属性。静态方法则不需要任何隐式或显式的...
类方法和静态方法;类方法是类所拥有的方法,需要用修饰器“@classmethod”来标识其为类方法。对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数(同self一样只是一个习惯),能够通过对象名调用类方法,...
Python中的方法分为三种类型:对象方法、类方法和静态方法。这些方法在定义和调用时各有不同,分别承担着不同的职责和功能。下面将详细介绍这三种方法的区别和使用场景。 对象方法: 对象方法是类中最常见的方法...
在这个文件中,可以像 Java 中的静态方法一样,定义函数或类方法,只需在函数名或方法名前加上 @staticmethod 或者不加,即可定义成静态方法,无需实例化相关对象即可直接调用。 在 Python 中,可以使用模块(Module...
Python中的类方法、对象方法和静态方法是面向对象编程中的重要概念,它们分别有不同的作用和使用场景。在Python中,这些方法都是通过修饰器(decorator)来实现的。 1. 对象方法(Instance Method) 对象方法是与...
静态方法不接收`cls`参数,也不直接与类或实例的属性和方法交互。它们通常用于封装一些通用功能,这些功能不需要访问类或实例的状态。 示例: ```python class Student: @staticmethod def add(a, b): return a ...
刚接触Python中的面向对象,对于类方法和静态方法难以区分,通过查找知乎、CSDN论坛,废了好大的劲思路才逐渐明朗,所以就总结顺便分享一下。 首先开始编辑代码 # 普通方法、类方法、静态方法的比较 # 普通方法、...
在Python中,一个类可以继承自另一个类,从而获取父类的所有属性和方法。这样可以实现代码的复用和模块化。在上述代码中,`main` 类继承自 `Denglu` 类,因此 `main` 类不仅拥有自己的方法(如 `show` 和 `din`),...
在Python编程中,类的方法分为三种类型:实例方法、类方法和静态方法,它们各自有特定的使用场景和特点。 1. 实例方法 实例方法是通过实例对象调用的方法,通常第一个参数是`self`,它指向调用该方法的实例对象。...
在Python面向对象编程中,类方法和静态方法是两种特殊的方法,它们在使用上有各自的特点,同时也有别于实例方法。要了解类方法和静态方法,首先需要理解类属性和实例属性的概念。 类属性是属于类本身的属性,它被这...