python 类之间的参数传递方式

yipeiwu_com6年前Python基础

练手记录以及调试步骤.

class A(object):
  def __init__(self,a="A"):
    print("enter",a)
    print("leave",a)
  def mainA(readA,*D):  #如果使用实例化B(),调用mainA,D收集进来D多余的参数.(参考第3点说明)
    print("enter mainA")
    reaA = "内部添加的"
    print("leave mainA")
    return (reaA + "  "+str(D))    
  
class B(A):
  def __init__(self, a =None):
    print("enter B ")
    super().__init__()
    self.read = a 
    print("leave B")
  def main(read,*two,**three): #这个read 与上一个self.read 无任何关联,星号收集参数.
    print("enter main")
    read = 1
    print("leave main")
    return read
  
'''
=================不实例化的调用,可以直接使用 类名.函数名(参数)  ======================
>>> B.main(123)
enter main
leave main
1
>>> fo=B.main(123)
enter main
leave main
>>> print(fo)
1
>>> 
'''
 
 
'''
==================不实例化继承后的A,也可以直接使用======================================
>>> print(B.mainA(12))
我是minA
>>>
'''
 
 
 
 
 
'''
=================================第3点======================================
细节方面注意:
类实例化后,如: x=B()  使用mainA时需要注意有多余的参数
>>> x=B()
enter B 
enter A
leave A
leave B
>>> x.mainA()
enter mainA
leave mainA
'内部添加的  ()'  #这里有一个多余的None 值
>>> 
'''

以上这篇python 类之间的参数传递方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现翻转数组功能示例

本文实例讲述了Python实现翻转数组功能。分享给大家供大家参考,具体如下: 题目描述 给定一个长度为n的整数数组a,元素均不相同,问数组是否存在这样一个片段,只将该片段翻转就可以使整个...

Python抽象和自定义类定义与用法示例

本文实例讲述了Python抽象和自定义类定义与用法。分享给大家供大家参考,具体如下: 抽象方法 class Person(): def say(self): pass c...

Python3.8对可迭代解包的改进及用法详解

Python 3 的可迭代解包 在 PEP 3132 - Extended Iterable Unpacking 里面描述了一种对可迭代对象的解包用法,Python 3 可用: In...

Python线性拟合实现函数与用法示例

Python线性拟合实现函数与用法示例

本文实例讲述了Python线性拟合实现函数与用法。分享给大家供大家参考,具体如下: 1. 参考别人写的: #-*- coding:utf-8 -*- import math impo...

python使用json序列化datetime类型实例解析

使用python的json模块序列化时间或者其他不支持的类型时会抛异常,例如下面的代码: # -*- coding: cp936 -*- from datetime import d...