python 类之间的参数传递方式

yipeiwu_com5年前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中装饰器的用法

因为函数或类都是对象,它们也能被四处传递。它们又是可变对象,可以被更改。在函数或类对象创建后但绑定到名字前更改之的行为为装饰(decorator)。 “装饰器”后隐藏了两种意思——一是函...

Python程序中设置HTTP代理

0x00 前言 大家对HTTP代理应该都非常熟悉,它在很多方面都有着极为广泛的应用。HTTP代理分为正向代理和反向代理两种,后者一般用于将防火墙后面的服务提供给用户访问或者进行负载均衡,...

celery4+django2定时任务的实现代码

网上有很多celery + django实现定时任务的教程,不过它们大多数是基于djcelery + celery3的; 或者是使用django_celery_beat配置较为繁琐的。...

详解python列表(list)的使用技巧及高级操作

1、合并列表(extend) 跟元组一样,用加号(+)将两个列表加起来即可实现合并: In [1]: x=list(range(1, 13, 2)) In [2]: x + ['b'...

通过字符串导入 Python 模块的方法详解

通过字符串导入 Python 模块的方法详解

我们平时导入第三方模块的时候,一般使用的是 import 关键字,例如: import scrapy from scrapy.spider import Spider 但是如果各位...