python中如何调用类_python如何在不同类之间调用方法

5d170427e9f00696.jpg

Python中类与类之间属性和方法的调用class A(object): #定义一个类

name='python' #类属性

def __init__(self): #实例属性

self.age=18

def a_print(self): #实例方法

print('aaa')

@classmethod #类方法

def b_print(cls): #cls指代当前的类

print(cls.__name__) #获取当前类名

@staticmethod #静态方法

def c_print():

print('static')

print(A.name) #调用类属性

A.b_print() #调用类方法

# print(A.age) 不可以调用实例属性

print(A().age) #匿名实例对象可以调用实例属性

a_obj=A() # 类对象 可以调用这个类中所有方法和属性

print(a_obj.age)

print(a_obj.name)

a_obj=A() #在外部生成一个对象

a_obj.num=1000 #对 对象增加一个额外属性,并赋值

def func(a_obj): #再把这个对象传递到另一个方法中

print(a_obj.num) #这个方法中我就可以拿到这个对象,并用这个对象获取到这个对象额外添加 的数据

func(a_obj)

#可以在方法中传递数据

#一个类想要调用另一个类的方法和属性,有两种形式

# 1.继承

# 2.把另外一个对象传递到这个类中,在这个类中调用实例对象

# 把一个类当做是另一个类的属性,通过属性调用的方式调用另一个类的方法

class B(object):

def __init__(self):

self.a_obj=A() #把A对象直接作为B的属性

def func(self,a_obj):

print(a_obj.num)

a_obj.a_print()

b_obj=B()

b_obj.a_obj.a_print()

b_obj.a_obj.b_print()

b_obj=B()

b_obj.func(a_obj)

例:

son.py和all.py在同一个文件夹下面,可以通过from son import *或者import son来互相调用。

可以动态实例化son.py里面的SON类,而且也可以把ALL的实例通过参数传递给SON,从而调用ALL类的方法。

all.pyfrom son import *

class ALL():

def __init__(self):

self.mSon = SON(self)

def getAll(self):

print "=================getall---------------"

return self.mSon.getSon()

def getAlltest(self):

print "=================getAlltest---------------"

Instance = ALL()

Instance.getAll()

son.pyclass SON():

def __init__(self, instance):

self.mBattle = instance

def getSon(self):

return self.mBattle.getAlltest()

更多Python相关技术文章,请访问Python教程栏目进行学习!

以上就是python如何在不同类之间调用方法的详细内容,更多请关注Gxl网其它相关文章!

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值