Etikettarkiv: python

Python 2.7 når End of Life vid årsskiftet – dags att uppgradera

Python 2.7 når End of Life 2020 - dags att uppgradera

Den 1 januari 2020 når Python 2.7 End of Life vilket innebär att denna version kommer att sluta underhållas och säkerhetsuppdateras av dess utvecklare. Det betyder att du som använder Python 2.7 idag behöver uppgradera till Python 3.7 så snart som möjligt för att din hemsida ska fortsätta fungera även nästa år.

» Guide: Så uppgraderar du till Python 3.7

Ska du uppdatera från Python 2.7 till 3.7? Se över din kod nu

För att försäkra dig om att din hemsida kommer att fortsätta fungera som tidigare rekommenderar vi att du ser över följande:

  • Om du använder Python-script som någon annan skrivit och underhåller bör du se till att dessa är uppdaterade till en version som har stöd för Python 3.7. 
Dela detta inlägg:

Snakes on a server

Ett av de kanske lite mer ovanliga språken vi har stöd för på Loopia är Python. Python är ett skriptspråk i likhet med exempelvis Perl eller PHP och är ett så kallat general purpose-språk. Detta innebär att Python kan användas till allt mellan himmel och jord. Python används bland annat av NASA, ILM och Astra Zeneca. Ett annat exempel är Eve Online, ett onlinespel, som använder en specialversion av Python (Stackless Python) till stor utsträckning.

Det som gör att jag gillar Python är flera saker. En prominent anledning är att det är så lätt att läsa Pythonkod. En annan anledning är att jag gillar funktionell programmering (tänk exempelvis LISP (SBCL), Haskell och Erlang) och Python har inslag av just det.

Nåväl, talk is cheap så nu är det hög tid för några exempel.

Databashantering

En kort exempel på databashantering (utan felhantering).

import MySQLdb

db = MySQLdb.connect("host", "user", "password", "database")
db_cursor = db.cursor()
db_cursor.execute("SELECT title FROM books")

row = db_cursor.fetchone()
count = 1
while row is not None:
     print count, row[0]
     count += 1
     row = db_cursor.fetchone()

db_cursor.close()
db.close()

Detta ger följande utmatning från min testdatabas:

1 Security Engineering: A Guide to Building Dependable ...
2 Secrets and Lies: Digital Security in a Networked World
3 Hackers and Painters: Essays on the Art of Programming

Sortering av en hash

Sortering av en hash (som heter dictionary i Python) på värdet istället för nyckeln:

data = {'a' : 2, 'b' : 1}
for key in sorted(data.keys(), lambda x, y: cmp(data[x], data[y])):
        print key, data[key]

Detta ger följande utmatning:

b 1
a 2

Annat spännande …

Andra attraktiva funktioner är filter(), map() och reduce(). Dessa används för att filtrera och sammanställa data. Ett något krystat exempel på detta är följande kodsnutt som filtrerar ut alla tal som är större än noll ur en lista, dela dessa med två och sedan summerar:

data = [6, 4, 8, -3, 5, -7]
bigger_than_zero = filter(lambda x: x > 0, data)
half = map(lambda x: x / 2.0, bigger_than_zero)
the_sum = reduce(lambda x, y: x + y, half)
print the_sum

Ger följande utmatning:

11.5

Det härliga med Python är förstås att allt detta kan skapas med endast en (1) rad kod. Denna är förvisso ganska lång och behöver därför radbrytas i detta exempel (med ett \-tecken).

print reduce(lambda x, y: x + y, map(lambda x: x / 2.0, \
filter(lambda x: x > 0, [6, 4, 8, -3, 5, -7])))

Utmärkta introduktioner för dig som programmerat tidigare och som tycker Python verkar intressant hittar du här och här. Lycka till!

Dela detta inlägg: