在Python中定义类

时间:2015-04-05 22:07:58

标签: python class

据我所知,我们定义类的方式类似于以下代码:

class Example:
    'fields: firstname, lastname'
    def __init__(self, fn, ln):
        self.firstname = fn
        self.lastname = ln

如果第一个元素不是简单的字符串怎么办?如果它是一个列表,如何定义类呢?

3 个答案:

答案 0 :(得分:0)

同样的方式。你没有在Python中定义变量类型,因此类型是字符串还是列表没有区别。

答案 1 :(得分:0)

Python是动态类型的,因此为变量赋值的值或传递给对象构造函数并不重要。

你可以传递你想要的任何东西,除非底层代码强制执行某种类型(通过显式检查或duck-typing使用),否则根本不重要。

因此,在您的情况下,如果您致电Example(1, Example),则第一个名称将是整数 1,而姓氏将是类型< / em> Example(不是很有用但可能)。

答案 2 :(得分:0)

Python是一种动态类型语言。如果第一个元素是list,则它将是list类型。如果您的程序依赖于Example中包含my_example.firstname字符串的if isinstance(fn, str): self.firstname = fn else: self.firstname = 'John' 对象,则需要检查它是否为字符串,如下所示:

{{1}}