Читать книгу Routineaufgaben mit Python automatisieren - Al Sweigart - Страница 46

Die Funktion len()

Оглавление

Wenn Sie der Funktion len() einen Stringwert übergeben (oder eine Variable, die einen String enthält), wertet sie ihn zu einem Integer aus, der die Anzahl der Zeichen in diesem String angibt:

print('The length of your name is:')

print(len(myName))

Um das auszuprobieren, geben Sie Folgendes in die interaktive Shell ein:

>>> len('hello')

5

>>> len('My very energetic monster just scarfed nachos.')

46

>>> len('')

0

Wie in diesen Beispielen wird auch len(myName) zu einem Integer ausgewertet, der dann an print() übergeben wird, um ihn auf dem Bildschirm auszugeben. An print() lassen sich sowohl Integer- als auch Stringwerte übergeben. Schauen Sie sich aber die Fehlermeldung an, die sich ergibt, wenn Sie Folgendes in die interaktive Shell eingeben:

>>> print('I am ' + 29 + ' years old.')

Traceback (most recent call last):

File "<pyshell#6>", line 1, in <module>

print('I am ' + 29 + ' years old.')

TypeError: can only concatenate str (not "int") to str

Es ist nicht die Funktion print(), die den Fehler verursacht, sondern der Ausdruck, den Sie ihr zu übergeben versuchen. Dieselbe Fehlermeldung erhalten Sie auch, wenn Sie den Ausdruck ganz für sich allein in die Shell eingeben:

>>> 'I am ' + 29 + ' years old.'

Traceback (most recent call last):

File "<pyshell#7>", line 1, in <module>

'I am ' + 29 + ' years old.'

TypeError: can only concatenate str (not "int") to str

Python meldet einen Fehler, da der Operator + nur zwei Integer addieren oder zwei Strings verketten kann. Der Versuch, einen Integer und einen String zu verketten, widerspricht dagegen der Grammatik von Python. Diesen Fehler können Sie korrigieren, indem Sie eine Stringversion des Integers verwenden. Wie das geht, sehen wir uns im nächsten Abschnitt an.

Routineaufgaben mit Python automatisieren

Подняться наверх