Funkcja powinna wybierać wiersze w tabeli na podstawie nazwy wiersza (kolumna 2 w tym przypadku). Powinien być w stanie wziąć jedną nazwę lub listę nazw jako argumenty i poprawnie nimi zarządzać.Obsługa jako argument listy lub pojedynczej liczby całkowitej
To jest to, co mam teraz, ale idealnie nie byłoby to kod duplikowane i coś wyjątkami byłyby wykorzystywane w sposób inteligentny, aby wybrać odpowiedni sposób obsłużyć argument wejściowy:
def select_rows(to_select):
# For a list
for row in range(0, table.numRows()):
if _table.item(row, 1).text() in to_select:
table.selectRow(row)
# For a single integer
for row in range(0, table.numRows()):
if _table.item(row, 1).text() == to_select:
table.selectRow(row)
+1 ... znacznie łatwiej jest utrzymać tylko jeden zestaw kodu do wykonania zadania, a jeszcze więcej pythonic; niech eksploduje, jeśli ktoś wywoła to wbrew dokumentom. Jeśli naprawdę potrzebna jest funkcja, która akceptuje jedną liczbę całkowitą jako argument, zrób drugi o nazwie "def select_row (to_select)" i poproś go o listę "to_select" jako listę, a następnie wywołaj select_rows. –