Python 向对象传入任意数量的实参

向函数传递任意参数

我们都知道,Python 可以通过 *params 向函数传递任意多个参数。举个栗子:

        def foo(*foods):
            for food in foods:
                print("I like %s!" % food)

        foo("hamburger", "banana", "juice")

得到的结果:

        I like hamburger!
        I like banana!
        I like juice!

向对象内的函数传递任意参数

今天在学习 Python 的对象时就想,对象能不能也传进任意个参数呢?
稍微试了一下,果然可以,和函数的方式差不多:

        class Test:
            def __init__(self, *list_test): 
                self.list_demo = list_test
            def foo(self):
                print(type(self.list_demo))  # 查看数据类型
                print(self.list_demo)  # 打印数据,看是否是我们想象中的元组
                for item in self.list_demo:
                    print(item + "n")  # 将元组的每个元素挨个打印出来
                
        Test("aa", "bb", "cc").foo()

得到的结果,同样是一个元组:

        <class 'tuple'>
        ('aa', 'bb', 'cc')
        aan
        bbn
        ccn

参考文章:
Python函数传入不定个数的参数
向函数传递不定数量的参数

    原文作者:DreamOver
    原文地址: https://www.jianshu.com/p/88fc6721d88b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞