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


本文摘自php中文网,作者尚,侵删。

Python中类与类之间属性和方法的调用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

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)

例:

阅读剩余部分

相关阅读 >>

怎么用Python做网站

Python怎么导入wmi

怎么用Python实现画爱心

怎么安装Python3.7.2

Python怎么创建django

Python怎么判断数据类型

Python是c语言开发的吗

Python中divmod是什么意思

Python代码是什么语言

Python是什么,如何使用Python

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...