类中方法/函数:

普通方法  直接定义(含self)
类方法  @classmethod
静态方法 @staticmethod

类中变量:

静态变量
普通变量 定义在构造函数中(__init__)

看代码

class Test:# 类的静态变量# 1. 类名和该类定义的对象都可访问/修改类的静态变量#    a.  Test.stc_attr#    b.  obj1.stc_attr# 2. 所有该类别定义的对象共享的是同一个静态变量stc_attr = 1attr = 2# 类的构造函数def __init__(self,attr,attr1,attr2):self.attr = attrself.attr1 = attr1self.attr2 = attr2# 普通方法def test_normalmethod(self):print("This is normalmethod")print("self.attr: ", self.attr)print("self.attr1: ", self.attr1)print("self.attr2: ", self.attr2)# 类方法@classmethoddef test_classmethod(cls):print("This is classmethod")print("stc_attr", cls.stc_attr)print("attr", cls.attr)# 类中的静态方法# 功能: 与普通函数一样# 调用: 类名 or 该类的实例对象 都可调用@staticmethoddef test_staticmethod():print("This is staticmethod")def main():obj1 = Test(11, 12, 13)obj2 = Test(21, 22, 23)print("...尝试调试分别调用这几种函数...")# 尝试调试分别调用这几种函数# Test.test_normalmethod() # 应该是调用不了,报错; 不能使用类名调用,类的普通方法Test.test_staticmethod()Test.test_classmethod()obj1.test_normalmethod()obj1.test_staticmethod()obj1.test_classmethod()obj2.test_normalmethod()obj2.test_staticmethod()obj2.test_classmethod()if __name__ == "__main__":main()

Python的类中定义函数的三种方式及其利用相关推荐

  1. Python自定义类中定义属性的两种方式

    封面图片:<Python程序设计开发宝典>,ISBN:9787302472100,董付国,清华大学出版社 图书详情:https://item.jd.com/12143483.html 京东 ...

  2. JavaScript高级第2天:定义函数的三种方式、函数的原型链结构、完整原型链、作用域以及作用域链、函数的四种调用模式、闭包、计数器、斐波那契数列优化、三种继承方式

    JavaScript高级第二天 01-定义函数的三种方式 1.函数声明 function:可以先调用再声明,因为预解析(把函数声明.变量声明进行提升) function fn() {//函数体conl ...

  3. 代码示例:Java中定义数组的三种方式

    在Java中,数组的定义有三种方式,其基本语法格式如下: 数组类型[] 数组名 = new 数组类型[数组长度]; 数组类型[] 数组名 = new 数组类型[]{数组元素0,数组元素1,...}; ...

  4. Python中定义函数的三种形式

    一.无参函数 定义函数时参数是函数体接收外部传值的一种媒介,其实就是一个变量名 在函数阶段括号内没有参数,称为无参函数.需要注意的是:定义时无参,意味着调用时也无需传入参数. 如果函数体代码逻辑不需要 ...

  5. javascript中定义事件的三种方式

    在javascript中,可以为某个元素指定事件,指定的方式有以下三种: 1.在html中,使用onclick属性 2.在javascript中,使用onclick属性 3.在javascipt中,使 ...

  6. Python定义函数的三种方式

    1.空函数 当你只知道你需要实现某个功能,但不知道该如何用代码实现时,你可以暂时写个空函数,然后先实现其他的功能. def get_test1():pass 2.有参函数 ​ 在函数定义阶段括号内有参 ...

  7. c++语言定义排序函数,关于C++中定义比较函数的三种方法小结

    C++编程优与Pascal的原因之一是C++中存在STL(标准模板库).STL存在很多有用的方法. C++模板库中的许多方法都需要相关参数有序,例如Sort().显然,如果你想对一个集合进行排序,你必 ...

  8. C语言中比较大小的函数模板,关于C++中定义比较函数的三种方法

    关于C++中定义比较函数的三种方法 C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之.以下,小编为大家介绍关于C++中定义比较函数的三种方法,供 ...

  9. java光标移动函数_文件内光标的移动 函数基础 定义函数的三种形式 函数的返回值 调用方式...

    # with open(r'a.txt', 'r', encoding='utf-8')as f: # data1=f.read() # print('>1>:',data1) # pri ...

最新文章

  1. java 随机取三个_Java-Random 从五个人中随机三个 且不能重复
  2. R语言distHaversine函数计算大圆距离实战
  3. centos7下docker 部署javaweb
  4. 第一章:1.1 信号表征
  5. Andorid应用去google广告
  6. Java中的面向对象
  7. Linux网络编程 之 网络协议概述(一)
  8. 华硕笔记本装linux系统教程视频,在新买的华硕笔记本电脑安装linux手记
  9. springmvc注解小示例(转)
  10. python代码太长_Python 太糟糕了?开发者总结了 8 大原因
  11. codejam题目_嵌套深度-Google CodeJam 2020资格回合问题解决方案
  12. OpenCV人脸识别类FaceRecognizer
  13. 洛谷 P2167 [SDOI2009]Bill的挑战
  14. python学了有什么用-python学来有什么用
  15. 三维空间长度温度数量_PET注塑成型温度过低会怎么样?
  16. Android自定义输入车牌号键盘、车牌简称 | 数字 | 字母键盘
  17. gtest -UT测试框架
  18. php speex转码为mp3,ffmpeg speex转换为mp3或者aac
  19. 合取范式可满足性问题:CDCL(Conflict-Driven Clause Learning)算法详解
  20. 一名合格的拼多多运营需要具备哪些技能?

热门文章

  1. 推荐几款非常棒的注释工具
  2. 写一个京东自动签到代码
  3. 进程间通信方式、协议
  4. C++11 call_once 和 once_flag
  5. ISO C90 forbids mixed declarations and code 编译报错
  6. vue中使用图像编辑器tui-image-editor(二)——应用示例
  7. Semantic Instance Segmentation with a Discriminative Loss Function
  8. Isomap算法的matlab实现
  9. 在wind7中运行启动hadoop出现错误 java.lang.UnsatisfiedLinkError
  10. 供应链单据套打设置保存提示:未知错误,activeX部件不能创建对象,组件跟踪到:Kingdee.K3.ExcelPrint.ComLibary.dll