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

yipeiwu_com7年前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)就是想说直接通过类名接上变量名可以调用类的变量。

运行结果:

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

修改do_class.py为:

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

报错:

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

把class_learn.py改成下面:

在do_class.py就可以这么写:

运行结果:

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

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

例子里的初始化函数里的

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

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

相关文章

使用Python的Flask框架构建大型Web应用程序的结构示例

虽然小型web应用程序用单个脚本可以很方便,但这种方法却不能很好地扩展。随着应用变得复杂,在单个大的源文件中处理会变得问题重重。 与大多数其他web框架不同,Flask对大型项目没有特定...

利用python开发app实战的方法

利用python开发app实战的方法

我很早之前就想开发一款app玩玩,无奈对java不够熟悉,之前也没有开发app的经验,因此一直耽搁了。最近想到尝试用python开发一款app,google搜索了一番后,发现确实有路可寻...

python实现五子棋游戏(pygame版)

python实现五子棋游戏(pygame版)

本文实例为大家分享了python五子棋游戏的具体代码,供大家参考,具体内容如下 目录 简介 实现过程 结语 简介 使用python实现pygame版的五子棋游戏...

详解如何管理多个Python版本和虚拟环境

多个Python版本:在同一台机器上安装不同的Python,例如2.7和3.4。 虚拟环境:独立的环境,既可以同时安装特定版本的Python,也可以安装任何特定于项目的软件包,而不会影...

django自带的server 让外网主机访问方法

命令: Python manage.py runserver 改为 python manage.py runserver 0.0.0.0:80 外网和127.0.0.1都能够...