Routineaufgaben mit Python automatisieren. Al Sweigart

Routineaufgaben mit Python automatisieren - Al Sweigart


Скачать книгу

       Die Funktion print()

      Die Funktion print() gibt den in den Klammern angegebenen Stringwert auf dem Bildschirm aus:

      print('Hello world!') image

      print('What is your name?') # Fragt nach dem Namen

      Die Zeile print('Hello world!') bedeutet: »Gib den Text des Strings 'Hello World!' aus.« Wenn Python diese Zeile ausführt, ruft Python die Funktion print() auf und übergibt ihr den Stringwert. Einen Wert, der an einen Funktionsaufruf übergeben wird, bezeichnet man als Argument. Beachten Sie, dass die Anführungszeichen nicht auf dem Bildschirm ausgegeben werden. Sie markieren nur den Anfang und das Ende des Strings, sind aber nicht Bestandteil des Stringwertes.

       Hinweis

      Mit dieser Funktion können Sie auch eine leere Zeile auf dem Bildschirm ausgeben. Rufen Sie dazu einfach print() auf, also ohne irgendeinen Inhalt zwischen den Klammern.

      Das Klammernpaar hinter einem Namen zeigt an, dass es sich um den Namen einer Funktion handelt. Aus diesem Grund sehen Sie in diesem Buch überall Bezeichnungen wie print() statt print. Funktionen werden in Kapitel 3 ausführlicher beschrieben.

       Die Funktion input()

      Die Funktion input() wartet darauf, dass der Benutzer Text über die Tastatur eingibt und die Eingabetaste drückt.

      myName = input() image

      Sie können sich den Funktionsaufruf input() als einen Ausdruck vorstellen, der zu dem vom Benutzer eingegebenen String ausgewertet wird. Gibt der Benutzer beispielsweise Al ein, so wird der Ausdruck zu myName = 'Al' ausgewertet. In dem vorstehenden Code wird der Stringwert der Variablen myName zugewiesen.

      Wenn Sie input() aufrufen und eine Fehlermeldung wie NameError: name 'Al' is not defined erhalten, liegt das Problem wahrscheinlich daran, dass Sie den Code mit Python 2 statt mit Python 3 ausführen.

       Den Benutzernamen ausgeben

      Bei dem anschließenden Aufruf von print() steht der Ausdruck 'It is good to meet you, ' + myName in den Klammern:

      print('It is good to meet you, ' + myName) image

      Denken Sie daran, dass Ausdrücke immer zu einem einzigen Wert ausgewertet werden. Wenn in Zeile image der Wert 'Al' in myName gespeichert wurde, dann ergibt dieser Ausdruck 'It is good to meet you, Al'. Dieser Stringwert wird nun an die Funktion print() übergeben, die ihn auf dem Bildschirm anzeigt.

       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:') image

      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.

       Die Funktionen str(), int() und float()

      Wenn Sie eine Zahl wie 29 mit einem String verketten wollen, etwa um das Ergebnis an print() zu übergeben, brauchen Sie die Stringversion von 29, also '29'. Die Funktion str() nimmt einen Integer entgegen und wertet ihn zu seiner Stringversion aus:

      >>> str(29)

      '29'

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

      I am 29 years old.

      Da str(29) den String '29' ergibt, wird der Ausdruck 'I am ' + str(29) + ' years old' zu 'I am ' + '29' + ' years old' ausgewertet und dieses wiederum zu 'I am 29 years old'. Dieser Wert wird dann an print() übergeben.

      Die Funktionen str(), int() und float() werden zu der String-, Integer- bzw. Fließkommaversion des übergebenen Wertes ausgewertet. Versuchen Sie in der interaktiven Shell, einige Werte mithilfe dieser Funktionen umzuwandeln, und beobachten Sie, was passiert.

      >>> str(0)

      '0'

      >>> str(-3.14)

      '-3.14'

      >>> int('42')

      42

      >>> int('-99')

      -99

      >>> int(1.25)

      1

      >>> int(1.99)

      1

      >>> float('3.14')

      3.14

      >>> float(10)

      10.0


Скачать книгу