#!/usr/bin/env python3.6
#-*- coding:utf-8 -*-
#
class Person(object):
    city = 'Beijing'

    def __init__(self,name):
        self.name = name
        self.age =28

    # 实例方法
    def showInfo(self):
        info = "name: %s, age: %s" % (self.name, self.age)
        print(info)

    # 类方法
    @classmethod
    def sayHi(cls):
        print('hi, i am in %s' % cls.city)

    # 静态方法
    @staticmethod
    def sayBye():
        print('byebye')

1、实例方法

  实例方法就是普通的对象方法,只能通过对象实例来调用,调用时参数self会自动关联到对象实例。

2、类方法

  需要指定修饰器@classmethod,类方法可以通过类直接调用,也可以通过对象直接调用,但参数cls将自动关联到类。

3、静态方法

  需要指定修饰器@staticmethod,没有参数self,可以直接通过类来调用;是个独立的函数,仅仅是存在于类的名称空间中,便于使用和维护。

python3 实例方法、类方法和静态方法的更多相关文章

  1. (转)python3:类方法,静态方法和实例方法以及应用场景

    原文:https://blog.csdn.net/qq_34979346/article/details/83212716 1.实例方法在编程里经常用的是实例方法,直接用实例去调用, 只要 方法里有s ...

  2. python 实例方法,类方法和静态方法

    在学习python代码时,看到有的类的方法中第一参数是cls,有的是self,经过了解得知,python并没有对类中方法的第一个参数名字做限制,可以是self,也可以是cls,不过根据人们的惯用用法, ...

  3. Python类方法、静态方法与实例方法

    静态方法是指类中无需实例参与即可调用的方法(不需要self参数),在调用过程中,无需将类实例化,直接在类之后使用.号运算符调用方法. 通常情况下,静态方法使用@staticmethod装饰器来声明. ...

  4. Swift基础之init方法,实例方法,类方法(静态方法)的使用(多标签Demo)

    Xcode更新过后,有些方法都进行了改变,Demo中有变化的都进行了简单的标记,具体以后遇见再说 创建一个UIView类,用init方法创建两种类型,显示多标签,创建静态方法进行调用,创建类方法进行调 ...

  5. Python 实例方法、类方法、静态方法的区别与作用

    Python中至少有三种比较常见的方法类型,即实例方法,类方法.静态方法.它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文. 首先,这三种方法都定义在类中.下面我先简单说一下怎么定义 ...

  6. Python类方法、静态方法与实例方法 -----类里面不需要实例化参数 和没带self的函数 调用此函数的方法

    来源: https://www.cnblogs.com/blackmatrix/p/5606364.html 静态方法是指类中无需实例参与即可调用的方法(不需要self参数),在调用过程中,无需将类实 ...

  7. Python Class 的实例方法/类方法/静态方法

    实例方法.类方法.静态方法 class MyClass(object): class_name = "MyClass" # 类属性, 三种方法都能调用 def __init__(s ...

  8. python 实例方法,类方法,静态方法,普通函数

    python中有实例方法,类方法,静态方法,普通函数 类方法需要@ classmethod 修饰并且有个隐藏参数 cls,实例方法必须有个参数 self, 静态方法必须有 @staticmethod修 ...

  9. python中的实例方法、类方法、静态方法的区别

    Python 除了拥有实例方法外,还拥有静态方法和类方法,跟Java相比需要理解这个类方法的含义. class Foo(object): def test(self)://定义了实例方法 print( ...

  10. python 类中方法总结 --- 实例方法、类方法、静态方法

    在python的类语法中,可以出现三种方法,具体如下: (1)实例方法 1)第一个参数必须是实例本身,一般使用[self]表示. 2)在实例方法中,可以通过[self]来操作实例属性,[类名]来操作类 ...

随机推荐

  1. [转]Blue Prism Interview Questions and Answers

    本文转自:https://www.rpatraining.co.in/blue-prism-interview-questions/ What is a Visual Business Object? ...

  2. 学JAVA第十二天,今天写java控制台输入流及String的类型转换

    今天老师讲了一天狗跳楼的问题,昨天解开始说了,今天都没讲新课, 所以,今天自学了Scanner类及String的类型转换 先来Scanner类实现键盘输入功能: 代码: package pkg1; i ...

  3. 看完我身边前卫时尚女孩的手机 这几款APP强烈推荐

    爱美之心,人皆有之,爱美是所有人生追求里最有价值的生活状态,美是一种能力,更是一种修养,懂得打扮自己的女人更受欢迎 因为她们懂得什么是美.想要变美的女孩们不要着急,下面几款爱美工具定会让你一见钟情. ...

  4. maven+springMVC(一)

    [目录]

  5. 高通方案的Android设备几种开机模式的进入与退出

    高通方案的Android设备主要有以下几种开机模式,Android.EDL.Fastboot.Recovery和FFBM,其进入及退出的方式如下表. 开机模式 屏幕显示 冷启动 热启动 按键退出 命令 ...

  6. 你不可不知的Java引用类型之——Reference源码解析

    定义 Reference是所有引用类型的父类,定义了引用的公共行为和操作. reference指代引用对象本身,referent指代reference引用的对象,下文介绍会以reference,ref ...

  7. C# ComboBox绑定值问题

    使用这种方式始终绑定值有问题: cbxSchool.DataSource = schoolList; cbxSchool.DisplayMember = "school_name" ...

  8. Active Directory Replication(复制)

    KCC(The Knowledge Consistency Checker)知识一致性检查器是一个内置的程序,在所有与管理器上运行,为林创建复制拓扑.默认,KCC15分钟间隔运行一次,根据当时存活的最 ...

  9. MongoDB语法与现有关系型数据库SQL语法比较

    MongoDB语法            MySql语法 db.test.find({'name':'foobar'})             <==>          select ...

  10. zookeeper 分布式锁原理

    zookeeper 分布式锁原理: 1 大家也许都很熟悉了多个线程或者多个进程间的共享锁的实现方式了,但是在分布式场景中我们会面临多个Server之间的锁的问题,实现的复杂度比较高.利用基于googl ...