Difference between revisions of "Python"

From HackerNet
Jump to: navigation, search
m
Line 1: Line 1:
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.
+
Python är ett objektorienterat programspråk som siktar på att vara funktionellt och lättläst.  
  
 
==Installation==
 
==Installation==
 +
Python följer med de flesta linux-distar.
 
  python -V
 
  python -V
  
Line 10: Line 11:
 
  pydoc file
 
  pydoc file
 
  pydoc os
 
  pydoc os
 +
 +
Manuellt ta reda på möjliga funktioner/methods i ett library.
 +
dir()
 +
dir(''library'')
  
 
==Virtualenv==
 
==Virtualenv==
Line 28: Line 33:
 
  sudo pip install <package>
 
  sudo pip install <package>
  
===HTTP Server===
+
'''Exempel HTTP Server''' <br/>
 
Det finns flera olika webbservrar skrivna i python.
 
Det finns flera olika webbservrar skrivna i python.
 
  sudo pip install lpthw.web
 
  sudo pip install lpthw.web
Line 45: Line 50:
 
  x = raw_input(">> ")
 
  x = raw_input(">> ")
 
  x = int(raw_input(">> "))
 
  x = int(raw_input(">> "))
 
Ta reda på möjliga funktioner/methods i ett library
 
dir()
 
dir(''library'')
 
  
 
Läsa fil
 
Läsa fil
Line 61: Line 62:
 
  fil.close()
 
  fil.close()
  
Definiera funktion
+
Definiera funktion och kalla på den.
 
  def funk1():
 
  def funk1():
 
     print "Detta ar en funktion"
 
     print "Detta ar en funktion"
Line 110: Line 111:
 
  import getpass
 
  import getpass
 
  secretx = getpass.getpass("Enter password:")
 
  secretx = getpass.getpass("Enter password:")
 +
 +
'''Grundläggande sanitetscheckar'''
 +
pip install pep8 pylint pyflakes
 +
 +
pep8 the_script.py
 +
pylint the_script.py
 +
pyflakes the_script.py
  
 
==netaddr==
 
==netaddr==

Revision as of 19:22, 11 June 2017

Python är ett objektorienterat programspråk som siktar på att vara funktionellt och lättläst.

Installation

Python följer med de flesta linux-distar.

python -V

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

pydoc <namn>
pydoc open
pydoc file
pydoc os

Manuellt ta reda på möjliga funktioner/methods i ett library.

dir()
dir(library)

Virtualenv

Virtualenv är ett verktyg för att skapa isolerade Python environments. Det skapar ett directory som innehåller alla nödvändiga executables för att köra Python-projektet. Man kan sedan installera python-paket oberoende av övriga system. Virtualenvwrapper tillhandahåller ett gäng verktyg för att enklare jobba med virtualenv.

Setup

sudo pip install virtualenvwrapper
echo '. /usr/local/bin/virtualenvwrapper.sh' >> .bashrc && source .bashrc

Jobba med virtualenv

mkvirtualenv test
deactivate
lsvirtualenv
workon test

PIP

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

sudo pip install <package>

Exempel HTTP Server
Det finns flera olika webbservrar skrivna i python.

sudo pip install lpthw.web
import web

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 "The 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 och kalla på den.

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

funk1()

Return value

def funk1(x):
   return x + 4

value = funk1(20)

Avsluta, ctrl + d

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

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

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:")

Grundläggande sanitetscheckar

pip install pep8 pylint pyflakes

pep8 the_script.py
pylint the_script.py
pyflakes the_script.py

netaddr

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

sudo pip install netaddr

Usage

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")