python类的数据成员和成员方法_静态方法和类成员方法(Python)

静态方法和成员方法分别在创建时分别被装入Staticmethod 类型和 Classmethod类型的对象中。静态方法的定义没有 self参数,且能够被类本身直接调用,类方法在定义时需要名为 cls的类似于self的参数,类成员方法可以直接用类的具体对象调用。但cls参数是自动被绑定到类的,请看下面例子:

__metaclass__ = type

class Myclass:

def smeth():

print "This is a static method"

smeth = staticmethod(smeth)

def cmeth(cls):

print "This is a class method of", cls

cmeth = classmethod(cmeth)

手动包装和替换方法的技术看起来有点单调。在Python2.4中,为这样的包装方法引入了一个叫做装饰器(decorators)的新语法(它能够对任何可调用的对象进行包装,即能够用于方法也能用于函数)。使用@操作符,在方法(或函数)的上方将装饰器列出,从而指定一个或者更多的装饰器(多个装饰器在应用时的顺序与指定顺序相反)

__metaclass__ = type

class Myclass:

@staticmethod

def smeth():

print "This is a static method"

@classmethod

def cmeth(cls):

print "This is a class method of", cls

定义了这些方法后,就可以像下面的例子那样使用(例子中没有实例化类):

>>>Myclass.smeth()

This is a static method

>>>Myclass.cmeth()

This is a class method of

Python的静态方法和类成员方法

http://www.cnblogs.com/2gua/archive/2012/09/03/2668125.html Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还 ...

Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的

转:http://www.cnblogs.com/2gua/ Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的: 1)静态方法无需传入self参数,类成员方法 ...

Python的类变量和成员变量、类静态方法和类成员方法

先说明几个相关的术语:attribute.function.method. attribute:类对象的数据成员.我们经常会在Python代码出错时遇到:“AttributeError: 'My_Cl ...

python中的静态成员方法和类成员方法

Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的: 1)静态方法无需传入self参数,类成员方法需传入代表本类的cls参数: 2)从第1条,静态方法是无法访问 ...

带有静态方法的类(java中的math类)

带有静态方法的类通常(虽然不一定是这样)不打算被初始化. 可以用私有构造函数来限制非抽象类被初始化. 例如,java中的math类.它让构造函数标记为私有,所以你无法创建Math的实例.但Math类却 ...

Java——File类成员方法

body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

词云wordcloud类介绍&python制作词云图&词云图乱码问题等小坑

词云图,大家一定见过,大数据时代大家经常见,我们今天就来用python的第三方库wordcloud,来制作一个大数据词云图,同时会降到这个过程中遇到的各种坑, 举个例子,下面是我从自己的微信上抓的微信 ...

矩阵类的python实现

科学计算离不开矩阵的运算.当然,python已经有非常好的现成的库:numpy. 我写这个矩阵类,并不是打算重新造一个轮子,只是作为一个练习,记录在此. 注:这个类的函数还没全部实现,慢慢在完善吧. ...

随机推荐

使用Java练习算法常用的基本操作

一.使用Java练习算法常常需要使用控制台的数据输入和输出,下面记录一下基本的使用方法: 基本用法 import java.util.*; public class Main { public sta ...

css3选择器——导图篇

css3选择器主要有:基本选择器 , 层次选择器,  伪类选择器 ,  伪元素选择器 , 属性选择器 基本选择器  层次选择器 伪类选择器分为 动态伪类选择器, 目标伪类选择器, 语言伪类选择器, U ...

python实现简单的循环购物车小功能

python实现简单的循环购物车小功能 # -*- coding: utf-8 -*- __author__ = 'hujianli' shopping = [ ("iphone6s&quo ...

Java多线程编程的常见陷阱

.在构造函数中启动线程 我在很多代码中都看到这样的问题,在构造函数中启动一个线程,类似这样: public class A{ public A(){ ; ; this.thread=new MyThr ...

img添加预加载图片

< img src="images/logo.png" οnerrοr="javascript:this.src='images/logoError.png';&q ...

SSH 服务配置

服务端 启用使用密钥登录 登录到服务器 检查是否存在.ssh文件夹,如果没有则创建该文件夹 $ mkdir ~/.ssh $ chmod 700 ~/.ssh 检查公钥列表文件是否存在,如果没有则创建 ...

UVA1616-Caravan Robbers(枚举)

Problem UVA1616-Caravan Robbers Accept: 160  Submit: 1156Time Limit: 3000 mSec Problem Description O ...

01 基于umi搭建React快速开发框架

介绍 基于umi搭建一个快速开发框架,react 应用框架.umi 以路由为基础的,支持类 next.js 的约定式路由,以及各种进阶的路由功能,并以此进行功能扩展,比如支持路由级的按需加载. 我们会 ...

helloworld讲解cocos2d-x的编程思路与要点

用helloworld讲解cocos2d-x的编程思路与要点 本文以cocos2d-x的helloworld为例,讲解cocos2d-x引擎的特点和要点,2.2为了展示新功能,把包括屏幕自适应在内的新 ...

android异步处理机制

昨天面试被提问android的异步处理机制有哪些,他说处理new thread还有哪种方式,我说implement runnable,他说不是,比如intentservice. 我说那还有asyncT ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值