Difference between revisions of "Python"

From HackerNet
Jump to: navigation, search
Line 1: Line 1:
Python är ett programspråk som siktar på att vara funktionellt och lättläst. Det är objektorienterat.
+
Python är ett programspråk som siktar på att vara funktionellt och lättläst. Det är objektorienterat och följer med de flesta linux-distar.
  
 
==Installation==
 
==Installation==
Line 12: Line 12:
  
 
==Referenslista==
 
==Referenslista==
Här följer en lista på hur man gör diverse vanliga saker för den ovane (mig). Detta utgår från python 2.7.
+
Här följer en lista på hur man gör diverse vanliga saker för den ovane. Detta utgår från python 2.7.
  
 
Variabel
 
Variabel
Line 85: Line 85:
 
  secretx = getpass.getpass("Enter password:")
 
  secretx = getpass.getpass("Enter password:")
  
==User Interface==
 
==HTTP Server==
 
 
==PIP==
 
==PIP==
 +
PIP är ett package management system som används för att installera software packages skrivna i Python.
 +
sudo pip install <package>
 +
 +
===HTTP Server===
 +
Det finns flera olika webbservrar skrivna i python.
 +
sudo pip install lpthw.web
 +
import web
 +
 +
==netaddr==
 +
netaddr är ett network address manipulation library. Man kan jobba med IP-adresser och nät.
 +
sudo pip install netaddr
 +
 +
from netaddr import *
 +
cidr = IPNetwork(raw_input("CIDR-notation: "))
 +
firstip = cidr[1]
 +
netmask = cidr.netmask
 +
 +
==OOP==
 +
Python stödjer Object Oriented Programming vilket innebär att man kan skapa en template som man kan skapa objekt utifrån. Mallen för objekten finns i klassen och sedan skapas objektet utifrån den med olika properties.
 +
 +
class VLAN:
 +
    def __init__(self, id, name):
 +
        self.id = id
 +
        self.name = name
 +
 +
vlan10 = VLAN(10, "Test")
 +
 +
[[Category:Guider]]

Revision as of 14:13, 4 July 2016

Python är ett programspråk som siktar på att vara funktionellt och lättläst. Det är objektorienterat och följer med de flesta linux-distar.

Installation

python -V

Pydoc

Läsa hjälpfiler om moduler, klasser och funktioner.

pydoc <namn>
pydoc open
pydoc file
pydoc os

Referenslista

Här följer en lista på hur man gör diverse vanliga saker för den ovane. Detta utgår från python 2.7.

Variabel

nummer = 102

Output, print från variabel

print "His name is %s and %d." % (namn, nummer)

Input

x = raw_input(">> ")
x = int(raw_input(">> "))

Läsa fil

filnamn = raw_input(">> ")
fil = open(filnamn)
print fil.read()

Skriva till fil

fil = open(filename, 'w')
line1 = raw_input("line 1: ")
fil.write(line1)
fil.close()

Definiera funktion

def funk1():
   print "Detta ar en funktion"

funk1()

Return value

def funk1(x):
   return x + 4

value = funk1(20)

If_then_else

print "Valj 1 eller 2"
valet = raw_input(">> ")

if valet == "1":
   print "You is 1"
elif valet == "2":
   print "You is 2"
else:
   print "You die"

For-loop

the_count = [1, 2, 3, 4, 5]
for number in the_count:
   print "This is %d" % number

Avsluta

exit(0) # i script
quit() # i cli

Lista

lista = [1, 2, 3, 4, 5, 6, "hest" ];
print lista[0:2]
lista[2] = 20;

Append

Dictionary

dict = {'Name': 'Sara', 'Age': 20, 'Class': 'No'};
print dict['Name']
dict['Age'] = 21;

Add new entry

dict['School'] = "Yes";

Password

Get password, hidden

import getpass
secretx = getpass.getpass("Enter password:")

PIP

PIP är ett package management system som används för att installera software packages skrivna i Python.

sudo pip install <package>

HTTP Server

Det finns flera olika webbservrar skrivna i python.

sudo pip install lpthw.web
import web

netaddr

netaddr är ett network address manipulation library. Man kan jobba med IP-adresser och nät.

sudo pip install netaddr
from netaddr import *
cidr = IPNetwork(raw_input("CIDR-notation: "))
firstip = cidr[1]
netmask = cidr.netmask

OOP

Python stödjer Object Oriented Programming vilket innebär att man kan skapa en template som man kan skapa objekt utifrån. Mallen för objekten finns i klassen och sedan skapas objektet utifrån den med olika properties.

class VLAN:
    def __init__(self, id, name):
        self.id = id
        self.name = name
vlan10 = VLAN(10, "Test")