Mahdolliset virheet synyvät vasta ohjelmaa ajettaessa syötettäessä väärän tyyppisiä muuttujia johtuen Pythonin dynaamisuudesta. Staattisissa käännettävissä kielissä (kuten C) virhe tulisi käännösvaiheessa. IDLE-ympäristössä ennen ohjelman varsinaista ajamista virheitä voi tulla vain kielen syntaksissa olevista virheistä kuten sisennyksistä.
Normaalisti riittää dokumentoida funktion käyttö tapa niin että on selvää, minkä tyypin muuttujia funktiolle tulisi syöttää parametreiksi. Tämä onnistuu hyvin dokumentaatio merkkijonoilla.
Jos on tarvettaa mukauttaa funktion toimintaa annettujen muuttuja tyyppien mukaan, niin tätä varten Pythonissa on sisäänrakennettuja funktioita muuttujien tyypin tarkastamista varten. Funktio isinstance ottaa kaksi parametriä, joista ensimmäinen on mikä tahansa muuttuja ja toinen muuttujan tyypin tai luokan tunniste tai useamman sisältävä monikko; paluuarvo kertoo onko muuttuja jokin määritellyistä tyypeistä. Tässä esimerkki edellämainitun funktion käytöstä.
{code}
def Sum(a):
sum = 0.0
if isinstance(a, (int, float, complex)):
sum = a
elif isinstance(a, (tuple, list)):
for i in a:
sum += i
return sum
input("Paina Enter näppäintä lopettaaksesi...")
{code}
Funktio Sum tarkastaa ensin onko annettu muuttuja jokin numeerisista muuttujista ja palauttaa vain sen, jos niin on. Jos parametri sen sijaan on lista tai monikko, niin alkiot käydään yksitellen läpi ja tulostetaan niiden summa - joka onnistuu vain jos yhteenlasku operaattori toimii. |