Sådan konverteres strenge til heltal i Python
I lighed med den indbyggede str()
metode tilbyder Python også den praktiske int()
metode, der tager et strengobjekt som et argument og returnerer et heltal.
Eksempel på anvendelse:
# Here age is a string object age = "18" print(age) # Converting a string to an integer int_age = int(age) print(int_age)
Produktion:
18 18
Selvom output er visuelt ens, skal du huske, at den første linje er et strengobjekt, mens den følgende linje er et heltalobjekt. Dette illustreres yderligere i det næste eksempel:
age = "18" print(age + 2)
Produktion:
Traceback (most recent call last): File "", line 1, in TypeError: cannot concatenate 'str' and 'int' objects
Fejlen skal gøre det klart for dig, at du skal konvertere age
objektet til et heltal, før du tilføjer noget til det.
age = "18" age_int = int(age) print(age_int + 2)
Produktion:
20
Men husk disse specielle tilfælde:
- Et flydende punkt (et heltal med brøkdel) som argument returnerer svømmeren afrundet ned til det nærmeste hele heltal. For eksempel:
print(int(7.9))
udskriver7
. På den anden sideprint(int("7.9"))
vil det resultere i en fejl, da en float som et strengobjekt ikke kan konverteres til et heltal.
Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: '7.9'
- Ord givet som argument returnerer den samme fejl. F.eks.
print(int("one"))
Vender tilbage:
Traceback (most recent call last): File "", line 1, in ValueError: invalid literal for int() with base 10: 'one'