PYTHON: Где проверять входные данные класса?Python

Программы на Python
Anonymous
PYTHON: Где проверять входные данные класса?

Сообщение Anonymous »

Где мне следует поставить проверки на входные данные класса. Сейчас я помещаю это в __init__ следующим образом, но не уверен, правильно ли это. См. пример ниже
import numpy as np

class MedianTwoSortedArrays:
def __init__(self, sorted_array1, sorted_array2):

# check inputs --------------------------------------------------------
# check if input arrays are np.ndarray's
if isinstance(sorted_array1, np.ndarray) == False or \
isinstance(sorted_array2, np.ndarray) == False:
raise Exception("Input arrays need to be sorted np.ndarray's")

# check if input arrays are 1D
if len(sorted_array1.shape) > 1 or len(sorted_array2.shape) > 1:
raise Exception("Input arrays need to be 1D np.ndarray's")

# check if input arrays are sorted - note that this is O(n + m)
for ind in range(0, len(sorted_array1)-1, 1):
if sorted_array1[ind] > sorted_array1[ind + 1]:
raise Exception("Input arrays need to be sorted")

# end of input checks--------------------------------------------------

self.sorted_array1 = sorted_array1
self.sorted_array2 = sorted_array2


Подробнее здесь: https://stackoverflow.com/questions/787 ... of-a-class

Вернуться в «Python»