对python 调用类属性的方法详解


Posted in Python onJuly 02, 2019

测试时候类的调用是经常会用到的。简单看下类的调用使用的方法吧。

来看例子:

目录结构:

对python 调用类属性的方法详解

我们现在要在do_class.py这个文件里调用class_learn.py里的类

代码(do_class.py):

#!/usr/bin/env python3
#coding=utf-8
'''@Author:Jock'''

from all_python_learn.class_and_funcation.class_learn import *

b = Learn(1,2)

b.get()
print(Learn.a)

这里通过from导入了模块class_learn里的类,然后通过类的实例化实例了一个b的对象,然后通过对象b调用了类里的get函数。这里我加了个print(Learn.a)就是想说直接通过类名接上变量名可以调用类的变量。

运行结果:

对python 调用类属性的方法详解

如果我们不实例化直接调用会有什么结果呢?来看看

修改do_class.py为:

对python 调用类属性的方法详解

如果这么写那就报错了,因为没有实例化。

报错:

对python 调用类属性的方法详解

上面的例子是带传入参数的类,也可以有不带参数的类,然后被调用。

把class_learn.py改成下面:

对python 调用类属性的方法详解

在do_class.py就可以这么写:

对python 调用类属性的方法详解

运行结果:

对python 调用类属性的方法详解

通过上面的例子基本知道怎么去调用类里的函数、类里的变量了(这个非常重要,写用例时经常会跨文件去访问类里的属性!!)

但我估计你们在看了上面代码后对self比较疑惑,其实开始类的定义时有讲过,这个是必须写的,是类的实例。

例子里的初始化函数里的

self.x=x #这里的x和y就是实例变量
self.y=y

这是定义了两个变量x和y,并赋给实例self.x和self.y,在后面的所有函数中如果要用到这个两个变量,都需要通过self.x的写法来调用,并且函数的参数列表必须带有self,并且把实例传了进去。否则调用就会报错。

Python 相关文章推荐
python实现数组插入新元素的方法
May 22 Python
Python 字符串与二进制串的相互转换示例
Jul 23 Python
Python 互换字典的键值对实例
Feb 12 Python
python创造虚拟环境方法总结
Mar 04 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
python打印异常信息的两种实现方式
Dec 24 Python
Python timer定时器两种常用方法解析
Jan 20 Python
Python编程快速上手——正则表达式查找功能案例分析
Feb 28 Python
Python2.x与3​​.x版本有哪些区别
Jul 09 Python
详解python os.path.exists判断文件或文件夹是否存在
Nov 16 Python
python算法题 链表反转详解
Jul 02 #Python
python输入多行字符串的方法总结
Jul 02 #Python
Django高级编程之自定义Field实现多语言
Jul 02 #Python
python 杀死自身进程的实现方法
Jul 01 #Python
python 判断linux进程,并杀死进程的实现方法
Jul 01 #Python
PyCharm-错误-找不到指定文件python.exe的解决方法
Jul 01 #Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
Jul 01 #Python
You might like
PHP实现的简单日历类
2014/11/29 PHP
显示js对象所有属性和方法的函数
2009/10/16 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
基于jQuery和Bootstrap框架实现仿知乎前端动态列表效果
2016/11/09 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
ES6解构赋值实例详解
2017/10/31 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
Python中的ConfigParser模块使用详解
2015/05/04 Python
Python类的动态修改的实例方法
2017/03/24 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
python+Django实现防止SQL注入的办法
2019/10/31 Python
python将数组n等分的实例
2019/12/02 Python
Python使用循环神经网络解决文本分类问题的方法详解
2020/01/16 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
django model通过字典更新数据实例
2020/04/01 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
离婚协议书的书写要求
2014/09/17 职场文书
个人职业及收入证明
2014/10/13 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
教师个人发展总结
2015/02/11 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
《风筝》教学反思
2016/02/23 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
2022/05/30 NodeJs