类的方法分为:普通方法、 静态方法和类方法

  调用方式 特征
普通方法 由对象去调用执行,属于类 至少一个self,对象调用
静态方法 属于类,但通过类来调用,不依赖于任何对象,方法内部不需要对象封装的值时,可使用静态方法 任意参数,没有self,上面添加@staticmethod,类似装饰器的东东
类方法 静态方法的一种特殊形式,由类调用 至少一个cls参数,上面添加classmethod

一、普通方法:

由对象去调用执行(方法属于类)

1.创建方法

class Province:
country = "中国" def __init__(self,name):
self.name = name def show(self): #普通方法,由对象去调用执行(方法属于类)
print(self.name)

2.访问普通方法:

普通方法的访问需要使用对象 才能访问

obj = Province("河北")
obj.show()

Out:

河北

二、静态方法:

1.创建静态方法

添加@staticmethod  并且 def f1(): 括号里面没有self   ,这样就创建了静态方法

class Province:
country = "中国" def __init__(self,name):
self.name = name @staticmethod
def f1(arg1,arg2):
#静态方法,由类调用执行
print(arg1,arg2)

2.访问静态方法:

静态方法的访问直接使用类就可以访问,不需要使用对象

#访问静态方法
Province.f1(11,22)

out:

11 22

三、类方法

类方法:

1.创建类方法:

添加@classmethod  后创建的就是类方法,cls 就是类的名称

class Province:
country = "中国" def __init__(self,name):
self.name = name @classmethod
def f2(cls): #cls 是类名
print(cls)

2.方法类方法:

直接使用类名和方法名称即可

Province.f2()

out:

<class '__main__.Province'>

python - 类的方法的更多相关文章

  1. python类及其方法

    python类及其方法 一.介绍 在 Python 中,面向对象编程主要有两个主题,就是类和类实例类与实例:类与实例相互关联着:类是对象的定义,而实例是"真正的实物",它存放了类中 ...

  2. Python类,域,方法,对象,继承

    类和对象: 是面向对象编程的两个主要方面,类创建一个新类型,而对象这个类的实例.. 域: 属于一个对象或类的变量被称为域.域有两种类型: 属于每个实例(类的对象)或属于类本身.它们分别被称为实例变量和 ...

  3. python中函数和方法区别,以及如何给python类动态绑定方法和属性(涉及types.MethodType()和__slots__)

    网上有很多同义但不同方式的说法,下面的这个说法比较让你容易理解和接受 与类和实例无绑定关系的function都属于函数(function): 与类和实例有绑定关系的function都属于方法(meth ...

  4. Python 类中方法的内部变量,命名加'self.'变成 self.xxx 和不加直接 xxx 的区别

    先看两个类的方法: >>> class nc(): def __init__(self): self.name ='tester' #name变量加self >>> ...

  5. 第8.7节 Python类__new__方法和构造方法关系深入剖析:__new__方法执行结果对__init__的影响案例详解

    一. 引言 前面章节介绍了类中的构造方法和__new__方法,并分析了二者执行的先后顺序关系.__new__方法在__init__方法前执行,__new__方法执行后才返回实例对象,也就是说__new ...

  6. python 类和方法(面向对象)

    类和方法 name = "Jack" city = "bejing" print("my name is %S and come from %s &q ...

  7. Method Resolution Order – Python类的方法解析顺序

    在支持多重继承的编程语言中,查找方法具体来自那个类时的基类搜索顺序通常被称为方法解析顺序(Method Resolution Order),简称MRO.(Python中查找其它属性也遵循同一规则.)对 ...

  8. python类中方法加单下划线、双下划线、前后双下滑线的区别

    首先看一段代码: class Foo(): def __init__(self): print "__init__ method" def public_method(self): ...

  9. Python类私有方法的陷阱

    引言 Python不像C++.Java.C#等有明白的公共.私有或受保护的keyword来定义成员函数或属性,它使用约定的单下划线"_"和"__"双下划线作为函 ...

随机推荐

  1. NUnit单元测试初试

    创建项目,创建几个方法 创建测试类 开启NUnit测试工具,新建一个测试项目 打开测试的程序集 选择节点,点击测试,绿色通过,红色说明有错误

  2. JAVA--聊天界面面板

    package windows.beautify; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event ...

  3. Ajax从服务器端获取数据---原生态Ajax

    写在前面的话 Ajax从服务器获取的数据都是字符串,但是通过不同的解析,可以解析为XML或JSON来进行应用. 一般来说.使用XML格式的数据比较通用,但是服务器和客户端解析起来都比较复杂一些;而使用 ...

  4. MySQL 5.6 root密码丢失,使用mysqld --skip-grant-tables

    MySQL 5.6 root密码丢失,(window平台)使用mysqld –skip-grant-tables启动MySQL服务,出现警告: 1 [Warning] TIMESTAMP with i ...

  5. java学习笔记 (6) —— 文件上传

    1.新建upload.jsp <%@ page language="java" import="java.util.*" pageEncoding=&qu ...

  6. PHP打开PDO_MySQL扩展的配置方法

    PHP中的PDO其实是一个很好用的扩展,在一些PHPCMS系统中,开发者大多都有用到,那么如何开启PDO和PDO_MySQL扩展呢?方法同样很简单: 打开php.ini配置文件,找到extension ...

  7. Python基础第三天

    三元运算 三元运算又叫三目运算,是对简单的条件语句的缩写,例如if判断 # 标准if判断语法 if 1 == 1: name = "yes" else: name = " ...

  8. 2016ICPC China-finals 题解

    A:ans=n/3,因为8=1(mod7) B: C: D:二分+贪心,二分答案,即个数,check(mid)时贪心看能不能放成mid个; E:贪心,列出不等关系,然后写个高精度分数类; F:二分+h ...

  9. MTKdroidToolsV2.53 MTK安卓提取线刷资料的工具 使用教程

    备份的时候需插入1G以上内存卡,并确保机器电量充足. 机器需要root才能备份. 最新版本 支持大部分机型 一键root

  10. Android数据存储

    SharedPreferences----------->for primitive data Internal Storage-------------->for private dat ...