IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Jak si vynutit ve funkci datový typ?

V předchozím kvízu, Online test znalostí Python 2.7, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Marty
Člen
Avatar
Marty:6.2.2020 22:08

Ahoj,
mám následující kus kódu ze třídy pracující s databází:

def insert(self, into_table: str, columns: str, values: list):
    self.__cursor = self.connection.cursor()
    self.__temp_sql = "INSERT INTO " + into_table + " (" + columns + ") VALUES "
    ...
    self.__cursor.execute(self.__temp_sql)
    self.__executed_query = self.connection.commit()
    self.__cursor.close()
    return self.__executed_query

Místo ... přijde cyklus, který proběhne všechny hodnoty z každého itemu. Konkrétně jsem zamýšlel, že jako vstupní parametr bude list v listu a chtěl bych to nějak "vynutit", ale zatím nevím jak. Respektive třeba název tabulky a sloupce je vynucený string, ale nevím, jak mám vynutit list v listu. Nevíte někdo? Jde to?

Chci docílit toho, aby se dalo volat toto:

db.insert("tabulka", "sloupec1, sloupec2", [["hodnota1","hodnota2"],["hodnota3","hodnota4"],...])

Díky.

 
Odpovědět
6.2.2020 22:08
Avatar
Odpovídá na Marty
Patrik Valkovič:6.2.2020 22:17

Ahoj.
Podívej se na knihovnu typing (je součástí standardní instalace).

from typing import List

def insert(self, into_table: str, columns: str, values: List[List[str]]):
Editováno 6.2.2020 22:17
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
6.2.2020 22:17
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Marty
Člen
Avatar
Marty:6.2.2020 22:27

Aha, jak prosté. :D Na knihovnu kouknu, díky moc.

 
Nahoru Odpovědět
6.2.2020 22:27
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.