Funktionen und Definitionen in Python

In diesem Beitrag wollen wir Funktionen nutzen, um mit Python Nachrichten über Twitter zu verschicken. Wir wollen das Preisprojekt aus dem letzten Beitrag nun erweitern. Neben der regulären Bestellung von Kaffee soll zusätzlich eine „Notfallbestellung“ möglich sein.

import urllib.request
import time
pr=99.00
while pr>4.74:
 seite = urllib.request.urlopen("http://domain.de")
 text = seite.read().decode("utf8")
 i=text.find(">$")
 pr=float(text[i+2:i+6])
 
 time.sleep(900)

print("Jetzt kaufen zu "+str(pr)+" Dollar")

Wir müssten den Code für den Abruf der Website duplizieren um verschiedene Texte zu posten.
Eine grundlegende Regel in der Softwareentwicklung lautet: Codewiederholung statt Codeverdopplung.
Funktionen ermöglichen diese Wiederverwendung. Der auszuführende Code wird einmal geschrieben und mehrfach aufgerufen.

def preis_abrufen():
 seite = urllib.request.urlopen("http://beans-r-us.appspot.com/prices-loyalty.html")
 text = seite.read().decode("utf8")
 
 i=text.find(">$")
 pr=float(text[i+2:i+6])
 
 print ("Der Preis lautet: " + str(pr))
//Diese Funktion gibt jedoch nichts zurück

Der große Mehrwert von Funktionen entsteht durch die Möglichkeit, Ergebnisse zurück zu geben:

import urllib.request
import time

def preis_abrufen():
 seite = urllib.request.urlopen("http://domain.de")
 text = seite.read().decode("utf8")
 
 i=text.find(">$")
 pr=float(text[i+2:i+6])
 
 return (pr)

inp="nein"
inp=input("wollen sie den Preis sofort sehen?(j/n)")

if inp=="j":
 pr=preis_abrufen()

else:
 pr=preis_abrufen()
 while pr>4.75:
 
 time.sleep(900)
 pr=preis_abrufen()
 

print("Jetzt kaufen zu "+str(pr)+" Dollar")

Ein weiterer Vorteil von Funktionen ist, das sich mit kleinen Änderungen in unserem Programm grundverschiedene Funktionalitäten abbilden lassen.
Beispiel: Wir wollen nun den Preis nicht auf der Konsole ausgeben, sondern auf Twitter posten.

Dafür benötigen wir das Modul „twitter“. Dieses importieren wir folgendermaßen. Wir geben in die Konsole folgendes ein:

\Python32\python -m pip install twitter

Der Packetname „twitter“ lässt sich natürlich nach Belieben austauschen. Möchte man z.B. „Tumblpy“ installieren, tauscht man „twitter“ gegen diesen Packetnamen aus.

Um beliebige Zeichenketten auf Twitter zu posten, müssen wir diese an eine Funktion übergeben können und die Twitter internen Funktionen zum posten benutzen.

Marvin Sengera

Marvin Sengera

Hey! Ich bin Marvin Sengera, Inhaber der Internetagentur "Binärfabrik" aus Paderborn. Ich habe mein Bachelorstudium Informatik mit Schwerpunkt Industriespionage an der Hochschule Hamm Lippstadt abgeschlossen und absolviere derzeit meinen Master in Fachrichtung "Technical Entrepreneurship and Innovation". Ich beschäftige mich rund um die Themen Informatik, Innovation & Unternehmensgründung.

Das könnte Dich auch interessieren …

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.