2011-10-27 82 views
1

我想写一个函数来创建一个大小为NxN的空方阵。 我有2种方法来写:哪种更适合pythonic?

1:

s_matrix = [] 
create_empty_square_matrix(s_matrix, N) 

2:

s_matrix = empty_square_matrix(N) 

(Ofcourse,2个两个函数将不同的位功能create_empty_square_matrix就像是一个程序 - 只函数empty_square_matrix创建&返回一个矩阵)

哪种方式更Pythonic &更清晰?

你对命名风格有一些建议吗?我不确定empty_square_matrix & create_empty_square_matrix

回答

3

我总是比较喜欢第二种方式。

第一个问题是您将要写入的对象作为参数传递给参数(s_matrix),并且函数的调用者必须知道它必须传递一个空列表。如果调用者传递字典或非空列表会发生什么情况?顺便说一句,如果你想做矩阵计算,你应该看一下NumPy库,它提供了许多标准Python不支持的东西。

+0

不仅Pythonic,而且在一般情况下 - 无状态,无副作用的代码更好,因为它不依赖于全局状态。 –