类的方法的定义

1.def fun_name(self,...);

Pass

2.其中的参数self代表类的实例,在调用方法时由系统自动提供

3.方法定义时必须指明self参数

类的方法的调用

与普通的函数调用类似

1.类的内部调用:self.(参数列表)。

2.在类的外部调用:.(参数列表)。

注意:以上两种调用方法中,提供的参数列表中都不用包括self。

演示一个类:wash.py

class Washer:

def init(self):

self.water = 0

self.scour = 0

def add_water(self,water):

print('Add water:',water)

self.water = water

def add_scour(self,scour):

self.scour = scour

print('Add scour:',self.scour)

def start_wash(self):

print('Start wash...')

if name == 'main':

w = Washer()

w.add_water(10)

w.add_scour(2)

w.start_wash()

程序的运行结果为:

修改程序如图所示:washa.py

class Washer:

def init(self):

self.water = 10

self.scour = 2

def set_water(self,water):

self.water = water

def set_scour(self,scour):

self.scour = scour

def add_water(self):

print('Add water:',self.water)

def add_scour(self):

print('Add scour:',self.scour)

def start_wash(self):

self.add_water()

self.add_scour()

print('Start wash...')

if name == 'main':

w = Washer()

w.set_water(20)

w.set_scour(4)

w.start_wash()

程序的运行结果为:

类内方法相互调用

1.在一个类的内部方法之间是可以相应调用的

2.调用方法同上面所述的在类的内部调用方法

构造方法及其作用

1.构造方法就是前面课程提到和使用的_init_()方法。

2.构造方法的作用就是在类实例化时初始化实例。

3._init_()方法就是类实例化的第一步自动调用的函数。

4.注意其方法名是固定的,但其参数同普通方法一样,至少应带有self参数。

5.初始化实例包括:定义和初始化实例属性:或调用类的一些方法。

6.构造方法可以带有除self外的其它各种参数(关键字参数、默认参数、用元组收集参数、用字典收集关键字参数等);可以达到实例化类时,为相应的属性传入指定的值。

程序演示:washb.py

class Washer:

def init(self,water=10,scour=2):

self.water = water

self.scour = scour

def set_water(self,water):

self.water = water

def set_scour(self,scour):

self.scour = scour

def add_water(self):

print('Add water:',self.water)

def add_scour(self):

print('Add scour:',self.scour)

def start_wash(self):

self.add_water()

self.add_scour()

print('Start wash...')

if name == 'main':

# w = Washer()

# w.start_wash()

wb = Washer(100,10)

wb.set_water(50)

wb.set_scour(5)

wb.start_wash()

程序的运行结果为:

【相关推荐】

python类定义以及调用_python中如何定义和调用类详解相关推荐

  1. python的常量和变量_python中的常量和变量代码详解

    局部和全局变量: # name='lhf' # def change_name(): # # global name # name='帅了一比' # print('change_name',name) ...

  2. python可以用del释放资源_Python中垃圾回收和del语句详解

    Python中的垃圾回收算法是采用引用计数, 当一个对象的引用计数为0时, Python的垃圾回收机制就会将对象回收 a = "larry" b = a larry这个字符串对象, ...

  3. python向量机使用方法_Python中支持向量机SVM的使用方法详解

    除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类.因为Python中的sklearn库也集成了SVM算法,本文的运行环境是Pycharm. 一.导 ...

  4. python中seek(10、1)_Python中index()和seek()的用法(详解)

    1.index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如: >>> t=tuple('Allen') >>> t ('A', 'l ...

  5. python中index什么意思_Python中index()和seek()的用法(详解)

    1.index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如: >>> t=tuple('Allen') >>> t ('A', 'l ...

  6. python中列表的sort方法_python中列表的sort方法使用详解

    内容简介:python中列表的sort方法使用详解 一.基本形式 列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的. 排序,数字.字符 ...

  7. python format函数实例_python中强大的format函数实例详解

    python中format函数用于字符串的格式化 自python2.6开始,新增了一种格式化字符串的函数str.format(),此函数可以快速处理各种字符串. 语法 它通过{}和:来代替%. 请看下 ...

  8. python支持向量机回归_Python中支持向量机SVM的使用方法详解

    除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类.因为Python中的sklearn库也集成了SVM算法,本文的运行环境是Pycharm. 一.导 ...

  9. python中mat函数_Python中flatten( )函数及函数用法详解

    flatten()函数用法 flatten是numpy.ndarray.flatten的一个函数,即返回一个一维数组. flatten只能适用于numpy对象,即array或者mat,普通的list列 ...

  10. python中update是啥意思_python中update的基本使用方法详解

    前言 Python 字典 update()方法用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中. 语法格式 d.update(e) 参数说明 将e中键-值对添加到字典 ...

最新文章

  1. Android内存优化大全(中)
  2. java常量信用_JAVA常量
  3. Go 面向对象三大特性
  4. 检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
  5. 图文并茂重新认识下递归
  6. [vue] 你有使用过vue开发多语言项目吗?说说你的做法?
  7. python从云端服务器读数据_audio 读取服务器文件
  8. 将Java项目从maven迁移到gradle
  9. 数据可视化工具的意义有哪些
  10. 大哥吾博文写得清清楚楚,怎么就不试一下?
  11. Hadoop大数据原理与应用
  12. CKEditor5富文本编辑器在vue中的使用
  13. Github精选:本周10大热门项目
  14. 和风天气预报AndroidAPP-安卓(包含功能:天气预报-备忘录-高德地图定位-日历)
  15. android 模拟器 驱动,【新手指导】模拟器报错列表及解决办法!
  16. 【概念卡片】误判心理学(一)
  17. oracle datablock 内部结构(来自一军的详细解析)
  18. USB2.0驱动安装全接触
  19. matlab仿真分形树,使用MATLAB实现随机分形树模拟
  20. 十进制转二进制C语言版

热门文章

  1. Ubuntu — pac配置及谷歌pac无效的解决方案
  2. 报道证计算机水平怎么填,毕业生档案
  3. 一个批处理远离百度广告的骚扰
  4. YoloV8改进策略:将DCN v1与v2运用到YoloV8中,化身成上分小黑子
  5. 如何查看端口号是否被占用
  6. WeakReference 与 ThreadLocal
  7. 企业上网行为管理软件能为企业带来哪些好处?
  8. 树莓派3B+与Arduino Mega 2560蓝牙通讯
  9. 基于java的网上人才招聘系统
  10. 《袁老师访谈录》第六期 | 四位大咖:【对话四种类型创业者】