Notice: Undefined index: treeid in /home/blinkenlights/public_html/commands/TreeDetailsCommand.php on line 50
Blinkenlights.se - Pythonguide - Programmering & spelutveckling

BETA


Notice: Undefined index: treeid in /home/blinkenlights/public_html/view/TreeDetailsView.php on line 60

Pythonguide

Tillbaka till artikelarkivet

Filer

Verktyg

Kommentarer (11)
Utskriftsvänligt format

Betyg

markedunmaked 6.3

En pythonguide som förhoppningsvis ska kunna hjälpa både de som inte programmerat alls förut, och de som vill kolla upp det där python som alla påstår är så bra (för det är det).

Navigation:

< Föregående del || Nästa del >

Text - Python del 1 - Miniräknare

Om du har följt del 0 bör du nu kunna starta python, antingen i en terminal eller i Idle. -ppna Idle, och du kommer att mötas av ett fönster som innehåller texten

  1. Python 2.4.1 (#1, Oct 10 2006, 15:42:06)
  2. [GCC 3.4.4] on linux2
  3. Type "copyright", "credits" or "license()" for more information.
  4. ****************************************************************
  5. Personal firewall software may warn about the connection IDLE
  6. makes to its subprocess using this computer's internal loopback
  7. interface. This connection is not visible on any external
  8. interface and no data is sent to or received from the Internet.
  9. ****************************************************************
  10. IDLE 1.1.1
  11. >>>


Vart har vi hamnat? Det här är den interaktiva tolken, eller "miniräknarläget" som den också kallas. Den här funktionen är en stor fördel jämfört med kompilerade språk som t ex C/C++. Här kan man nämligen testa all kod, rad för rad, och se resultatet direkt. Men vi börjar från början.

De tre pilarna betyder att du kan/ska skriva in nya kodrader och kodblock, och rader utan pilar är resultatet från det du skrev in. För enkelhetens skull tänker jag skriva på samma sätt. Tre punkter i rad betyder i den textbaserade versionen att du inte är färdig med ditt block än. I Idle skrivs punkterna inte ut, men för att förtydliga för dig, läsaren, tänker jag skriva ut dem ändå, så att du ser vad du ska skriva, och vad Python ska skriva.

Python gör ett ganska bra jobb för att du ska slippa behöva bry dig om datatyper, men det är inte helt transparent - än. Det finns somliga datatyper som är viktigare att känna till än andra, och vi ska börja med att titta på några.

Den första är heltalet - en integer. I en integer kan man bara lagra heltal, alltså tal utan decimaldel. Python omvandlar automatiskt integers som blir för stora till long. En long är en väldigt stor (lång) integer. Tal med decimaldel är av typen float. I Python - och i de flesta andra programmeringsspråk, används en punkt som decimalavskiljare, och inte ett kommatecken. ,,ven den här guiden kommer använda punkt.

Med dessa datatyper kan vi ägna oss åt en av de primitivaste formerna av datorprogrammering som finns: aritmetik. Pröva med att skriva lite olika aritmetiska uttryck, eller kopiera mina:
  1. >>> 1+1
  2. 2
  3. >>> 3-1
  4. 2
  5. >>> 4*2
  6. 8
  7. >>> 42/5
  8. 8
  9. >>> #Det är inte det svaret du förväntade dig, men det är ändå rätt
  10. >>> 42/5.0
  11. 8.4000000000000004
  12. >>> 42%5
  13. 2

En lite lurig sak när man är van vid skolmattematik är att 42/5 på något sätt skulle vara 8, när det i skolan är 8.4. Det beror på att division av två integers alltid resulterar i en integer, och svaret avrundas alltid neråt. Som du ser i falllet efter så blir resultatet av en division mellan en integer och en float en float. Alla nollor följda av en fyra beror på att datorn lagrar tal i binär form. Bråket 1/3 kan vi inte representera decimalt alls, och 42/5 råkar vara ett bråk vi inte kan representera binärt. För mer info om binära tal, läs på wikipedia. Den sista raden räknar med modulo. Modulo tar fram resten: 42/5 blir alltså 8 med resten 2.

En brädhög, #, är tecknet som inleder en kommentar i Python. Allt du skriver efter den är bara en notis till den som läser källkoden, och kommer inte att läsas av pythontolken.

För att det ska vara någon riktig programmering räcker det inte att kunna ta fram svar på matteuppgifter. För att det ska vara någon programmering måste vi kunna lagra information i variabler, och hämta den senare.
  1. >>> a=2
  2. >>> a
  3. 2

Vi har gett variabeln a värdet två, och kan nu hämta tillbaka det värdet när vi vill - eller i alla fall tills vi stänger av pythontolken. -verallt där vi skriver a kommer det att översättas med värdet på a - dvs 2. I Python behöver vi inte bestämma vilken typ variabeln ska vara av - lägger vi integers i variabeln a vill vi uppenbarligen att a ska vara av typen av integer. Tänk på att det är skillnad på stora och små bokstäver.

Vad kan vi lägga i variabler? Mer eller mindre allt. De flesta uttrycken du kan skriva i tolken kommer att ge dig ett "svar" på raden under. Skriver du t ex 1+1 får du svaret 2 på raden under. Om du i början av raden lägger till ett variabelnamn, följt av ett likhetstecken, kommer variabeln att bli tilldelad svaret. Alltså:
  1. >>> 42 #Kommer att "svara", returnera, 42
  2. 42
  3. >>> a=42 #Kommer inte att returnera något. a kommer att anta värdet 42

Det här verkar uppenbart i det här fallet, men det gäller alltid annars också.

Python stödjer en cool pryl som kallas för "Multiple Assignment" - flera tilldelningar på en gång. Något inte fullt så exklusivt är att ge flera variabler samma värde. Jag ska demonstrera
  1. >>> a, b= 1, 2 # Flera variabler får var sitt värde
  2. >>> a
  3. 1
  4. >>> b
  5. 2
  6. >>> a, b = b, a #Det gör att man byta värden på två variabler snabbt
  7. >>> a
  8. 2
  9. >>> b
  10. 1
  11. >>> a = b = 0 # Alla variabler får samma värde
  12. >>> a
  13. 0
  14. >>> b
  15. 0

En sammanfattning av de tecken vi gått igenom:
  • + är additionstecken (uppenbart?)
  • - ger subtraktioner (inte heller någon överraskning)
  • * används för additioner
  • / används för divisioner
  • % används för modulus, resten i divisioner
  • = används för att tilldela värden till variabler
  • . är decimaltecknet (punkt, inte komma)
  • # skapar en kommentar

Slut

Navigation:

< Föregående del || Nästa del >

Till toppen

MySQL Error

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'groups ON users.group = groups.groupId WHERE users.id = '0' LIMIT 1' at line 2
Querystring
SELECT groups.doMod FROM users
	INNER JOIN groups ON users.group = groups.groupId
	WHERE users.id = '0'
    LIMIT 1