据我所知,我们定义类的方式类似于以下代码:
class Example:
'fields: firstname, lastname'
def __init__(self, fn, ln):
self.firstname = fn
self.lastname = ln
如果第一个元素不是简单的字符串怎么办?如果它是一个列表,如何定义类呢?
答案 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}}