Intro

Welkom allemaal op mijn website. Op deze website leer je van database maken tot games ontwikkelen. Nu is niet veel te zien maar als administrator zal ik actueel bezig zijn om deze website beter bruikbaar maken voor meeste mensen.

Gevorderde

In dit deel zal ik een paar onderdelen uitleggen:

  1. Python  while loops                   5. Python Modules 9.  Python Calsses / Objects
  2. Python-functies                       6. Python Data 10.   Python-repeaters   
  3. Python Lambda                         7. Python JSON 11. Python Probeer ... Behalve
  4. Python Arrays                             8. Python PIP         

 

Python Loops

Python heeft 2 soorten opdrachten:

  • while-loops
  • voorloops

 

De while Loop

Met de while-loop kan je een reeks statements uitvoeren, als het voorwaarde waar is.

Voorbeeld

Druk ik af als ik minder dan 6 ben:

i = 1
terwijl i <6:
  print (i)
  i + = 1

Opmerking:  vergeet niet om te laten, anders blijft de lus voor altijd doorgaan.

Voor de while-loop zijn variabelen nodig om op pad te zetten. In dit voorbeeld moeten we een variabele in een index hebben die we op 1 instellen.

 

De pauze-verklaring

Met de breuk kunnen we de lus laten doorgaan als de tijd-conditie waar is:

Voorbeeld

Verlaat de lus wanneer ik 3 is:

i = 1
while i <6:
  print (i)
  if i == 3:
    break
  i + = 1

 

 

 

 

Python For Loops

Een forelus wordt gebruikt voor het herhalen van een reeks (dat is een lijst, een tuple, een woordenboek, een set van een tekenreeks).

Dit is minder zoals het voor sleutelwoord in andere programmeertaal, en werkt meer als een iterator-methode zoals gevonden in andere object-georiënteerde programmeertalen.

Met de for- lus kunnen we een set statements uitvoeren, eenmaal voor elk item in een lijst, tuple, set etc.

Voorbeeld

Print elk fruit in een fruitlijst:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x)

Voor de for- lus is geen indexeervariabele vereist om vooraf in te stellen.

 

Looping door een string

Zelfs strings zijn iterabele objecten, ze bevatten een reeks tekens:

Voorbeeld

Doorloop de letters in het woord "banaan":

for x in "banana":
  print(x)

 

De pauze-verklaring

Met de break- instructie kunnen we de lus stoppen voordat het alle items heeft doorlopen:

Voorbeeld

Verlaat de lus wanneer xis "banana":

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  print(x) 
  if x == "banana":
    break

Voorbeeld

Verlaat de lus wanneer x"banaan" is, maar deze keer komt de pauze vóór de afdruk:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    break
  print(x)

 

 

De vervolgverklaring

Met de instructie continue kunnen we de huidige iteratie van de lus stoppen en doorgaan met de volgende:

Voorbeeld

Druk geen banaan af:

fruits = ["apple", "banana", "cherry"]
for x in fruits:
  if x == "banana":
    continue
  print(x)

 

De bereik () functie

Om een ​​aantal keren een set code door te lussen, kunnen we de functie range () gebruiken ,

De functie bereik () retourneert een reeks getallen, beginnend bij 0 standaard, en verhoogt met 1 (standaard) en eindigt bij een opgegeven aantal.

Voorbeeld

De bereik () functie gebruiken:

for x in range(6):
  print(x)

Merk op dat bereik (6) niet de waarden van 0 tot 6, maar de waarden 0 tot 5 zijn.

De bereik () functie staat standaard op 0 als startwaarde, maar het is mogelijk om de startwaarde op te geven door een parameter toe te voegen: bereik (2, 6) , wat waarden van 2 tot 6 (maar zonder 6) betekent:

Voorbeeld

De startparameter gebruiken:

for x in range(2, 6):
  print(x)

De functie bereik () wordt standaard gebruikt om de reeks met 1 te verhogen, maar het is mogelijk om de incrementwaarde op te geven door een derde parameter toe te voegen: bereik (2, 30, 3 ) :

Voorbeeld

Verhoog de reeks met 3 (standaard is 1):

for x in range(2, 30, 3):
  print(x)

 

Anders in For Loop

Het elsesleutelwoord in een forlus geeft een blok code aan dat moet worden uitgevoerd wanneer de lus is voltooid:

Voorbeeld

Druk alle cijfers van 0 tot 5 af en druk een bericht af wanneer de lus is geëindigd:

for x in range(6):
  print(x)
else:
  print("Finally finished!")

 

Geneste lussen

Een geneste lus is een lus in een lus.

De "binnenste lus" wordt één keer uitgevoerd voor elke iteratie van de "buitenste lus":

Voorbeeld

Print elk adjectief voor elk fruit:

adj = ["red", "big", "tasty"]
fruits = ["apple", "banana", "cherry"]

for x in adj:
  for y in fruits:
    print(x, y)

 

Python- functies

 

 

Een functie is een codeblok dat alleen wordt uitgevoerd als het wordt aangeroepen.

U kunt gegevens, ook wel parameters genoemd, doorgeven aan een functie.

Een functie kan als resultaat gegevens retourneren.

 

Een functie maken

In Python wordt een functie gedefinieerd met behulp van het def- sleutelwoord:

Voorbeeld

def my_function():
  print("Hello from a function")

 

Een functie aanroepen

Als u een functie wilt aanroepen, gebruikt u de functienaam gevolgd door haakjes:

Voorbeeld

def my_function():
  print("Hello from a function")

my_function()

 

parameters

Informatie kan als parameter aan functies worden doorgegeven.

Parameters worden opgegeven achter de functienaam, tussen haakjes. U kunt zoveel parameters toevoegen als u wilt, deze eenvoudig van elkaar scheiden met een komma.

Het volgende voorbeeld heeft een functie met één parameter (fname). Wanneer de functie wordt aangeroepen, geven we een voornaam door, die in de functie wordt gebruikt om de volledige naam af te drukken:

Voorbeeld

def my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")

 

 

Standaard parameterwaarde

In het volgende voorbeeld ziet u hoe u een standaardparameterwaarde gebruikt.

Als we de functie zonder parameter aanroepen, wordt de standaardwaarde gebruikt:

Voorbeeld

def my_function(country = "Norway"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")

 

Retourwaarden

Als u een functie een waarde wilt laten retourneren, gebruikt u de return instructie:

Voorbeeld

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))

 

Herhaling

Python accepteert ook functie-recursie, wat betekent dat een gedefinieerde functie zichzelf kan noemen.

Recursie is een veel voorkomend wiskundig en programmeerconcept. Het betekent dat een functie zichzelf aanroept. Dit heeft het voordeel dat u kunt doorlopen door gegevens om een ​​resultaat te bereiken.

De ontwikkelaar moet heel voorzichtig zijn met recursie omdat het vrij gemakkelijk kan zijn om een ​​functie in te schrijven die nooit wordt beëindigd, of een die excessieve hoeveelheden geheugen of processorvermogen gebruikt. Bij correct schrijven kan recursie echter een zeer efficiënte en wiskundig elegante benadering van programmeren zijn.

In dit voorbeeld is tri_recursion () een functie die we hebben gedefinieerd om zichzelf te noemen ("recurse"). We gebruiken de k-variabele als de gegevens, die elke keer dat we recurse verlagen ( -1 ). De recursie eindigt wanneer de voorwaarde niet groter is dan 0 (dus wanneer deze 0 is).

Voor een nieuwe ontwikkelaar kan het enige tijd duren om uit te zoeken hoe dit precies werkt, de beste manier om erachter te komen is door het te testen en aan te passen.

Voorbeeld

Voorbeeld van een recursie

def tri_recursion(k):
  if(k>0):
    result = k+tri_recursion(k-1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Example Results")
tri_recursion(6)

Python Lambda

 

 

Een lambda-functie is een kleine anonieme functie.

Een lambdafunctie kan een willekeurig aantal argumenten aannemen, maar kan maar één uitdrukking hebben.

 

Syntaxis

lambda arguments : expression

De uitdrukking wordt uitgevoerd en het resultaat wordt geretourneerd:

Voorbeeld

Een lambda-functie die 10 als een argument aan het ingezonden aantal toevoegt en het resultaat afdrukt:

x = lambda a : a + 10
print(x(5))

Lambda-functies kunnen een willekeurig aantal argumenten aannemen:

Voorbeeld

Een lambda-functie die argument a met argument b vermenigvuldigt en het resultaat afdrukt:

x = lambda a, b : a * b
print(x(5, 6))

Voorbeeld

Een lambda-functie die het argument a, b en c samenvat en het resultaat afdrukt:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

 

 

Waarom Lambda-functies gebruiken?

De kracht van lambda wordt beter weergegeven wanneer je ze als een anonieme functie in een andere functie gebruikt.

Stel dat u een functiedefinitie heeft waarvoor één argument nodig is, en dat argument wordt vermenigvuldigd met een onbekend getal:

def myfunc(n):
  return lambda a : a * n

Gebruik die functiedefinitie om een ​​functie te maken die het nummer dat u verzendt altijd verdubbelt:

Voorbeeld

def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)

print(mydoubler(11))

Of gebruik dezelfde functiedefinitie om een ​​functie te maken die het nummer dat u verzendt altijd verdrievoudigt :

Voorbeeld

def myfunc(n):
  return lambda a : a * n

mytripler = myfunc(3)

print(mytripler(11))

Of gebruik dezelfde functiedefinitie om beide functies in hetzelfde programma te maken:

Voorbeeld

def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)
mytripler = myfunc(3)

print(mydoubler(11)) 
print(mytripler(11))

 

Python- arrays

 

Opmerking: Python heeft geen ingebouwde ondersteuning voor arrays, maar Python-lijsten kunnen in plaats daarvan worden gebruikt.

 

arrays

Arrays worden gebruikt om meerdere waarden in één enkele variabele op te slaan:

Voorbeeld

Maak een array met namen van auto's:

cars = ["Ford", "Volvo", "BMW"]

 

Wat is een array?

Een array is een speciale variabele die meer dan één waarde per keer kan bevatten.

Als u een lijst met items hebt (bijvoorbeeld een lijst met namen van auto's), zou het opslaan van de auto's in afzonderlijke variabelen er als volgt uit kunnen zien:

car1 = "Ford";
car2 = "Volvo";
car3 = "BMW";

Maar wat als u de auto's wilt doorlopen en een specifieke auto wilt vinden? En wat als u geen 3 auto's had, maar 300?

De oplossing is een array!

Een array kan vele waarden onder één naam bevatten en u kunt toegang krijgen tot de waarden door een indexnummer te raadplegen.

 

Toegang tot de elementen van een array

U verwijst naar een arrayelement door te verwijzen naar het indexnummer .

Voorbeeld

Verkrijg de waarde van het eerste array-item:

x = cars[0]

Voorbeeld

Pas de waarde van het eerste array-item aan:

cars[0] = "Toyota"

 

De lengte van een array

Gebruik de len()methode om de lengte van een array te retourneren (het aantal elementen in een array).

Voorbeeld

Retourneer het aantal elementen in de cars array:

x = len(cars)

Opmerking: de lengte van een array is altijd een meer dan de hoogste array-index.

 

 

Matrixelementen in een lus houden

U kunt de for inlus gebruiken om alle elementen van een array door te lussen.

Voorbeeld

Print elk item in de carsarray:

for x in cars:
  print(x)

 

Array-elementen toevoegen

U kunt de append()methode gebruiken om een ​​element aan een array toe te voegen.

Voorbeeld

Voeg nog een element toe aan de carsarray:

cars.append("Honda")

 

Array-elementen verwijderen

U kunt de pop()methode gebruiken om een ​​element uit de array te verwijderen.

Voorbeeld

Verwijder het tweede element van de carsarray:

cars.pop(1)

U kunt de remove()methode ook gebruiken om een ​​element uit de array te verwijderen.

Voorbeeld

Verwijder het element met de waarde "Volvo":

cars.remove("Volvo")

Opmerking: de remove()methode verwijdert alleen de eerste instantie van de opgegeven waarde.

 

Array-methoden

Python heeft een aantal ingebouwde methoden die u kunt gebruiken in lijsten / matrices.

Method

Description

append()

Adds an element at the end of the list

clear()

Removes all the elements from the list

copy()

Returns a copy of the list

count()

Returns the number of elements with the specified value

extend()

Add the elements of a list (or any iterable), to the end of the current list

index()

Returns the index of the first element with the specified value

insert()

Adds an element at the specified position

pop()

Removes the element at the specified position

remove()

Removes the first item with the specified value

reverse()

Reverses the order of the list

sort()

Sorts the list

Opmerking: Python heeft geen ingebouwde ondersteuning voor arrays, maar Python-lijsten kunnen in plaats daarvan worden gebruikt.

Python- klassen en -objecten

 

 

Python-klassen / objecten

Python is een objectgeoriënteerde programmeertaal.

Bijna alles in Python is een object, met zijn eigenschappen en methoden.

Een klasse is als een constructor van een object of een 'blauwdruk' voor het maken van objecten.

 

Maak een klas

Gebruik het sleutelwoord om een ​​klasse te maken class:

Voorbeeld

Maak een klasse met de naam MyClass, met de eigenschap x genaamd:

class MyClass:
  x = 5

 

Maak een object

Nu kunnen we de klasse met de naam myClass gebruiken om objecten te maken:

Voorbeeld

Maak een object met de naam p1 en druk de waarde van x af:

p1 = MyClass()
print(p1.x)

 

De __init __ () functie

De bovenstaande voorbeelden zijn klassen en objecten in hun eenvoudigste vorm en zijn niet echt bruikbaar in toepassingen in het echte leven.

Om de betekenis van klassen te begrijpen, moeten we de ingebouwde functie __init __ () begrijpen.

Alle klassen hebben de functie __init __ (), die altijd wordt uitgevoerd wanneer de klasse wordt gestart.

Gebruik de functie __init __ () om waarden toe te wijzen aan objecteigenschappen of andere bewerkingen die nodig zijn om te doen wanneer het object wordt gemaakt:

Voorbeeld

Maak een klasse met de naam Persoon, gebruik de functie __init __ () om waarden toe te wijzen voor naam en leeftijd:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("John", 36)

print(p1.name)
print(p1.age)

Opmerking: de __init__()functie wordt automatisch aangeroepen elke keer dat de klasse wordt gebruikt om een ​​nieuw object te maken.

 

 

Objectmethoden

Objecten kunnen ook methoden bevatten. Methoden in objecten zijn functies die bij het object horen.

Laten we een methode maken in de Person-klasse:

Voorbeeld

Voeg een functie in die een groet afdrukt en voer deze uit op het p1-object:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def myfunc(self):
    print("Hello my name is " + self.name)

p1 = Person("John", 36)
p1.myfunc()

Opmerking: de selfparameter is een verwijzing naar het huidige exemplaar van de klasse en wordt gebruikt om toegang te krijgen tot variabelen die tot de klasse behoren.

 

De zelfparameter

De selfparameter is een verwijzing naar het huidige exemplaar van de klasse en wordt gebruikt om toegang te krijgen tot variabelen die tot de klasse behoren.

Het hoeft niet te worden benoemd self, je kunt het noemen wat je wilt, maar het moet de eerste parameter zijn van elke functie in de klas:

Voorbeeld

Gebruik de woorden mysillyobject en abc in plaats van zelf :

class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age

  def myfunc(abc):
    print("Hello my name is " + abc.name)

p1 = Person("John", 36)
p1.myfunc()

 

Pas Objecteigenschappen aan

U kunt eigenschappen op objecten als deze wijzigen:

Voorbeeld

Stel de leeftijd in van p1 tot 40:

p1.age = 40

 

Objecteigenschappen verwijderen

U kunt eigenschappen op objecten verwijderen met behulp van het delsleutelwoord:

Voorbeeld

Verwijder de eigenschap age van het p1-object:

del p1.age

 

Objecten verwijderen

U kunt objecten verwijderen met behulp van het deltrefwoord:

Voorbeeld

Verwijder het p1-object:

del p1

Python- overerving

 

 

Python-overerving

Met overerving kunnen we een klasse definiëren die alle methoden en eigenschappen van een andere klasse overneemt.

Bovenliggende klasse is de klasse die wordt geërfd van, ook wel basisklasse genoemd.

Child class is de klasse die erft van een andere klasse, ook wel afgeleide klasse genoemd.

 

Maak een bovenliggende klasse

Elke klasse kan een bovenliggende klasse zijn, dus de syntaxis is gelijk aan het maken van een andere klasse:

Voorbeeld

Maak een klasse met de naam Person, met firstnameen lastnameeigenschappen en een printnamemethode:

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

#Use the Person class to create an object, and then execute the printname method:

x = Person("John", "Doe")
x.printname()

 

Maak een kinder klas

Als u een klasse wilt maken die de functionaliteit van een andere klasse overneemt, verzendt u de bovenliggende klasse als een parameter bij het maken van de onderliggende klasse:

Voorbeeld

Maak een klasse met de naam Student, die de eigenschappen en methoden van de Personklasse erven :

class Student(Person):
  pass

Opmerking: gebruik het pass trefwoord als u geen andere eigenschappen of methoden aan de klas wilt toevoegen.

De klasse Student heeft nu dezelfde eigenschappen en methoden als de klasse Persoon.

Voorbeeld

Gebruik de Studentklasse om een ​​object te maken en voer de printnamemethode vervolgens uit :

x = Student("Mike", "Olsen")
x.printname()

 

 

Voeg de __init __ () functie toe

Tot nu toe hebben we een onderliggende klasse gemaakt die de eigenschappen en methoden van de bovenliggende groep overneemt.

We willen de __init__()functie toevoegen aan de onderliggende klasse (in plaats van het passtrefwoord).

Opmerking: de __init__()functie wordt automatisch aangeroepen elke keer dat de klasse wordt gebruikt om een ​​nieuw object te maken.

Voorbeeld

Voeg de __init__()functie toe aan de Studentklas:

class Student(Person):
  def __init__(self, fname, lname):
    #add properties etc.

Wanneer u de __init__()functie toevoegt , neemt de onderliggende klasse niet langer de __init__()functie van de ouder over .

Opmerking: de __init__() functie van het kind heeft voorrang op de overerving van de __init__()functie van de ouder .

Om de overerving van de __init__() functie van de ouder te behouden , voegt u een oproep toe aan de __init__()functie van de ouder :

Voorbeeld

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)

Nu hebben we de functie __init __ () met succes toegevoegd en de overerving van de bovenliggende klasse bewaard, en we zijn klaar om functionaliteit aan de __init__()functie toe te voegen .

 

Voeg eigenschappen toe

Voorbeeld

Voeg een eigenschap toe die graduationyearaan de Studentklas is genoemd:

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)
    self.graduationyear = 2019

In het onderstaande voorbeeld moet het jaar 2019een variabele zijn en worden doorgegeven aan de Studentklas bij het maken van studentenobjecten. Voeg hiervoor nog een parameter toe in de functie __init __ ():

Voorbeeld

Voeg een yearparameter toe en sla het juiste jaar door bij het maken van objecten:

class Student(Person):
  def __init__(self, fname, lname, year):
    Person.__init__(self, fname, lname)
    self.graduationyear = year

x = Student("Mike", "Olsen", 2019)

 

Methoden toevoegen

Voorbeeld

Voeg een methode toe die welcomeaan de Studentklas is genoemd:

class Student(Person):
  def __init__(self, fname, lname, year):
    Person.__init__(self, fname, lname)
    self.graduationyear = year

  def welcome(self):
    print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)

Als u een methode toevoegt in de onderliggende klasse met dezelfde naam als een functie in de bovenliggende klasse, wordt de overerving van de bovenliggende methode overschreven.

Python Iterators

 

 

Python Iterators

Een iterator is een object dat een telbaar aantal waarden bevat.

Een iterator is een object waarop kan worden herhaald, wat betekent dat u door alle waarden kunt navigeren.

Technisch gezien is in Python een iterator een object dat het iterator-protocol implementeert, dat bestaat uit de methoden __iter__() en __next__().

 

Iterator vs Iterable

Lijsten, tuples, woordenboeken en sets zijn allemaal iterabele objecten. Het zijn iterabele containers waarvan je een iterator kunt krijgen.

Al deze objecten hebben een iter()methode die wordt gebruikt om een ​​iterator te krijgen:

Voorbeeld

Retourneer een iterator van een tuple en druk elke waarde af:

mytuple = ("apple", "banana", "cherry")
myit = iter(mytuple)

print(next(myit))
print(next(myit))
print(next(myit))

Zelfs strings zijn iterabele objecten en kunnen een iterator retourneren:

Voorbeeld

Strings zijn ook iterabele objecten met een reeks tekens:

mystr = "banana"
myit = iter(mystr)

print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))
print(next(myit))

 

Door een Iterator lussen

We kunnen ook een forlus gebruiken om door een iterabel object te itereren:

Voorbeeld

Herhaal de waarden van een tuple:

mytuple = ("apple", "banana", "cherry")

for x in mytuple:
  print(x)

Voorbeeld

Herhaal de karakters van een string:

mystr = "banana"

for x in mystr:
  print(x)

De forlus maakt feitelijk een iteratorobject en voert de volgende () -methode voor elke lus uit.

 

 

Maak een Iterator

Om een ​​object / klasse te maken als een iterator, moet u de methoden __iter__()en __next__()uw object implementeren .

Zoals je hebt geleerd in het hoofdstuk Python Classes / Objects , hebben alle klassen een functie genaamd __init__(), waarmee je sommige initialisaties kunt uitvoeren wanneer het object wordt gemaakt.

De __iter__()methode werkt vergelijkbaar, u kunt bewerkingen uitvoeren (initialiseren enz.), Maar moet altijd het iterator-object zelf retourneren.

Met de __next__()methode kunt u ook bewerkingen uitvoeren en moet het volgende item in de reeks worden geretourneerd.

Voorbeeld

Creëer een iterator die getallen retourneert, beginnend met 1, en elke reeks wordt met één verhoogd (terugkerende 1,2,3,4,5 enz.):

class MyNumbers:
  def __iter__(self):
    self.a = 1
    return self

  def __next__(self):
    x = self.a
    self.a += 1
    return x

myclass = MyNumbers()
myiter = iter(myclass)

print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))
print(next(myiter))

 

StopIteration

Het bovenstaande voorbeeld zou voor altijd doorgaan als u genoeg next () -instructies had, of als het in een forlus was gebruikt .

Om te voorkomen dat de iteratie voor altijd doorgaat, kunnen we de StopIterationverklaring gebruiken.

In de __next__()methode kunnen we een afsluitende voorwaarde toevoegen om een ​​fout te genereren als de iteratie een bepaald aantal keren is uitgevoerd:

Voorbeeld

Stop na 20 iteraties:

class MyNumbers:
  def __iter__(self):
    self.a = 1
    return self

  def __next__(self):
    if self.a <= 20:
      x = self.a
      self.a += 1
      return x
    else:
      raise StopIteration

myclass = MyNumbers()
myiter = iter(myclass)

for x in myiter:
  print(x)

 

modules

 

Wat is een module?

Beschouw een module als een codebibliotheek.

Een bestand met een reeks functies die u in uw toepassing wilt opnemen.

 

Maak een module

Als u een module wilt maken, slaat u de gewenste code op in een bestand met de bestandsextensie .py:

Voorbeeld

Sla deze code op in een bestand met de naam mymodule.py

def greeting(name):
  print("Hello, " + name)

Gebruik een module

Nu kunnen we de module gebruiken die we zojuist hebben gemaakt, door de importverklaring te gebruiken:

Voorbeeld

Importeer de module met de naam mymodule en bel de begroetingsfunctie:

import mymodule

mymodule.greeting("Jonathan")

Opmerking: gebruik bij het gebruik van een functie uit een module de syntaxis: module_naam.functie_naam .

 

Variabelen in module

De module kan functies bevatten, zoals reeds beschreven, maar ook variabelen van alle typen (arrays, woordenboeken, objecten, enz.):

Voorbeeld

Bewaar deze code in het bestand mymodule.py

person1 = {
  "name": "John",
  "age": 36,
  "country": "Norway"
}

Voorbeeld

Importeer de module met de naam mymodule en open het person1-woordenboek:

import mymodule

a = mymodule.person1["age"]
print(a)

 

 

Een module een naam geven

U kunt het modulebestand een naam geven die u maar wilt, maar deze moet de bestandsextensie hebben .py

Hernoemen van een module

U kunt een alias maken wanneer u een module importeert door het assleutelwoord te gebruiken:

Voorbeeld

Maak een alias voor mymodulegebeld mx:

import mymodule as mx

a = mx.person1["age"]
print(a)

 

Ingebouwde modules

Er zijn verschillende ingebouwde modules in Python, die u kunt importeren wanneer u maar wilt.

Voorbeeld

Importeer en gebruik de platformmodule:

import platform

x = platform.system()
print(x)

 

Gebruik van de functie dir ()

Er is een ingebouwde functie om alle functienamen (of variabelenamen) in een module op te sommen. De dir()functie:

Voorbeeld

Maak een lijst van alle gedefinieerde namen die behoren tot de platformmodule:

import platform

x = dir(platform)
print(x)

Opmerking: de functie dir () kan worden gebruikt op alle modules, ook degene die u zelf maakt.

 

Importeren vanuit module

U kunt ervoor kiezen om alleen onderdelen uit een module te importeren met behulp van het fromtrefwoord.

Voorbeeld

De genoemde module mymoduleheeft één functie en één woordenboek:

def greeting(name):
  print("Hello, " + name)

person1 = {
  "name": "John",
  "age": 36,
  "country": "Norway"
}

Voorbeeld

Importeer alleen het person1-woordenboek uit de module:

from mymodule import person1

print (person1["age"])

Opmerking: gebruik bij het importeren met het from sleutelwoord de modulenaam niet wanneer u naar elementen in de module verwijst. Bijvoorbeeld: person1["age"], niet mymodule.person1["age"]

 

Python-datums

Een datum in Python is geen eigen gegevenstype, maar we kunnen een module met de naam datetimedatums importeren als datums.

Voorbeeld

Importeer de datetime-module en geef de huidige datum weer:

import datetime

x = datetime.datetime.now()
print(x)

 

Datumuitvoer

Wanneer we de code uit het bovenstaande voorbeeld uitvoeren, zal het resultaat zijn:

2019-03-26 22:46:38.262493

De datum bevat jaar, maand, dag, uur, minuut, seconde en microseconde.

De datetimemodule heeft veel methoden om informatie over het datumobject terug te geven.

Hier zijn een paar voorbeelden, u zult er later meer over leren, in dit hoofdstuk:

Voorbeeld

Retourneer het jaar en de naam van de weekdag:

import datetime

x = datetime.datetime.now()

print(x.year)
print(x.strftime("%A"))

 

Datumobjecten maken

Om een ​​datum aan te maken, kunnen we de datetime()klasse (constructor) van de datetimemodule gebruiken.

De datetime()klasse vereist drie parameters om een ​​datum te creëren: jaar, maand, dag.

Voorbeeld

Maak een datumobject:

import datetime

x = datetime.datetime(2020, 5, 17)

print(x)

De datetime()klasse neemt ook parameters voor tijd en tijdzone (uur, minuut, seconde, microseconde, tzone), maar deze zijn optioneel en hebben een standaardwaarde van 0, ( Nonevoor tijdzone).

 

 

De methode strftime ()

Het datetimeobject heeft een methode voor het opmaken van datumobjecten in leesbare tekenreeksen.

De methode wordt genoemd strftime(), en neemt één parameter, formatom het formaat van de geretourneerde tekenreeks op te geven:

Voorbeeld

Toon de naam van de maand:

import datetime

x = datetime.datetime(2018, 6, 1)

print(x.strftime("%B"))

Een referentie van alle wettelijke formaatcodes:

Directive

Description

Example

Try it

%a

Weekday, short version

Wed

Try it »

%A

Weekday, full version

Wednesday

Try it »

%w

Weekday as a number 0-6, 0 is Sunday

3

Try it »

%d

Day of month 01-31

31

Try it »

%b

Month name, short version

Dec

Try it »

%B

Month name, full version

December

Try it »

%m

Month as a number 01-12

12

Try it »

%y

Year, short version, without century

18

Try it »

%Y

Year, full version

2018

Try it »

%H

Hour 00-23

17

Try it »

%I

Hour 00-12

05

Try it »

%p

AM/PM

PM

Try it »

%M

Minute 00-59

41

Try it »

%S

Second 00-59

08

Try it »

%f

Microsecond 000000-999999

548513

Try it »

%z

UTC offset

+0100

 

%Z

Timezone

CST

 

%j

Day number of year 001-366

365

Try it »

%U

Week number of year, Sunday as the first day of week, 00-53

52

Try it »

%W

Week number of year, Monday as the first day of week, 00-53

52

Try it »

%c

Local version of date and time

Mon Dec 31 17:41:00 2018

Try it »

%x

Local version of date

12/31/18

Try it »

%X

Local version of time

17:41:00

Try it »

%%

A % character

%

 

 

Python JSON

 

 

JSON is een syntaxis voor het opslaan en uitwisselen van gegevens.

JSON is tekst, geschreven met JavaScript-objectnotatie.

 

JSON in Python

Python heeft een ingebouwd pakket genaamd json, dat kan worden gebruikt om met JSON-gegevens te werken.

Voorbeeld

Importeer de json-module:

import json

 

Parse JSON - Converteren van JSON naar Python

Als u een JSON-tekenreeks hebt, kunt u deze parseren met behulp van de json.loads()methode.

Het resultaat is een Python-woordenboek .

Voorbeeld

Converteren van JSON naar Python:

import json

# some JSON:
x =  '{ "name":"John", "age":30, "city":"New York"}'

# parse x:
y = json.loads(x)

# the result is a Python dictionary:
print(y["age"])

 

Converteren van Python naar JSON

Als u een Python-object hebt, kunt u het naar een JSON-tekenreeks converteren met behulp van de json.dumps()methode.

Voorbeeld

Converteren van Python naar JSON:

import json

# a Python object (dict):
x = {
  "name": "John",
  "age": 30,
  "city": "New York"
}

# convert into JSON:
y = json.dumps(x)

# the result is a JSON string:
print(y)

 

 

U kunt Python-objecten van de volgende typen converteren naar JSON-reeksen:

  • dict
  • lijst
  • tuple
  • draad
  • int
  • vlotter
  • waar
  • vals
  • Geen

Voorbeeld

Converteer Python-objecten naar JSON-reeksen en druk de waarden af:

import json

print(json.dumps({"name": "John", "age": 30}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))

 

Wanneer u converteert van Python naar JSON, worden Python-objecten geconverteerd naar het JSON (JavaScript) -equivalent:

Python

JSON

dict

Object

list

Array

tuple

Array

str

String

int

Number

float

Number

True

true

False

false

None

null

 

Voorbeeld

Converteer een Python-object dat alle juridische gegevenstypen bevat:

import json

x = {
  "name": "John",
  "age": 30,
  "married": True,
  "divorced": False,
  "children": ("Ann","Billy"),
  "pets": None,
  "cars": [
    {"model": "BMW 230", "mpg": 27.5},
    {"model": "Ford Edge", "mpg": 24.1}
  ]
}

print(json.dumps(x))

 

Formatteer het resultaat

In het bovenstaande voorbeeld wordt een JSON-tekenreeks afgedrukt, maar deze is niet erg gemakkelijk te lezen, zonder inspringingen en regeleinden.

De json.dumps()methode heeft parameters om het lezen van het resultaat te vergemakkelijken:

Voorbeeld

Gebruik de indentparameter om de aantallen inspringingen te definiëren:

json.dumps(x, indent=4)

U kunt ook de scheidingstekens definiëren, de standaardwaarde is (",", ":"), wat betekent dat u een komma en een spatie gebruikt om elk object te scheiden, en een dubbele punt en een spatie om de sleutels van waarden te scheiden:

Voorbeeld

Gebruik de separatorsparameter om het standaardscheidingsteken te wijzigen:

json.dumps(x, indent=4, separators=(". ", " = "))

 

Bestel het resultaat

De json.dumps()methode heeft parameters om de sleutels in het resultaat te bestellen:

Voorbeeld

Gebruik de sort_keysparameter om aan te geven of het resultaat al dan niet moet worden gesorteerd:

json.dumps(x, indent=4, sort_keys=True)

Python RegEx

❮ VorigeVolgende ❯

 

Een RegEx of reguliere expressie is een reeks tekens die een zoekpatroon vormt.

RegEx kan worden gebruikt om te controleren of een reeks het opgegeven zoekpatroon bevat.

 

RegEx-module

Python heeft een ingebouwd pakket genaamd re, dat kan worden gebruikt om met reguliere expressies te werken.

Importeer de remodule:

import re

 

RegEx in Python

Wanneer u de remodule hebt geïmporteerd , kunt u beginnen met het gebruik van reguliere expressies:

Voorbeeld

Doorzoek de string om te zien of deze begint met "De" en eindigt met "Spanje":

import re

txt = "The rain in Spain"
x = re.search("^The.*Spain$", txt)

Voorbeeld uitvoeren »

 

RegEx-functies

De remodule biedt een reeks functies waarmee we een reeks kunnen zoeken naar een overeenkomst:

Function

Description

findall

Returns a list containing all matches

search

Returns a Match object if there is a match anywhere in the string

split

Returns a list where the string has been split at each match

sub

Replaces one or many matches with a string

 

 

metatekens

Metatekens zijn tekens met een speciale betekenis:

Character

Description

Example

Try it

[]

A set of characters

"[a-m]"

Try it »

\

Signals a special sequence (can also be used to escape special characters)

"\d"

Try it »

.

Any character (except newline character)

"he..o"

Try it »

^

Starts with

"^hello"

Try it »

$

Ends with

"world$"

Try it »

*

Zero or more occurrences

"aix*"

Try it »

+

One or more occurrences

"aix+"

Try it »

{}

Exactly the specified number of occurrences

"al{2}"

Try it »

|

Either or

"falls|stays"

Try it »

()

Capture and group

 

 

 

Speciale sequenties

Een speciale reeks is \gevolgd door een van de tekens in de onderstaande lijst en heeft een speciale betekenis:

Character

Description

Example

Try it

\A

Returns a match if the specified characters are at the beginning of the string

"\AThe"

Try it »

\b

Returns a match where the specified characters are at the beginning or at the end of a word

r"\bain"
r"ain\b"

Try it »
Try it »

\B

Returns a match where the specified characters are present, but NOT at the beginning (or at the end) of a word

r"\Bain"
r"ain\B"

Try it »
Try it »

\d

Returns a match where the string contains digits (numbers from 0-9)

"\d"

Try it »

\D

Returns a match where the string DOES NOT contain digits

"\D"

Try it »

\s

Returns a match where the string contains a white space character

"\s"

Try it »

\S

Returns a match where the string DOES NOT contain a white space character

"\S"

Try it »

\w

Returns a match where the string contains any word characters (characters from a to Z, digits from 0-9, and the underscore _ character)

"\w"

Try it »

\W

Returns a match where the string DOES NOT contain any word characters

"\W"

Try it »

\Z

Returns a match if the specified characters are at the end of the string

"Spain\Z"

Try it »

 

sets

Een set bestaat uit een set tekens in een paar vierkante haakjes []met een speciale betekenis:

Set

Description

Try it

[arn]

Returns a match where one of the specified characters (a, r, or n) are present

Try it »

[a-n]

Returns a match for any lower case character, alphabetically between a and n

Try it »

[^arn]

Returns a match for any character EXCEPT a, r, and n

Try it »

[0123]

Returns a match where any of the specified digits (0, 1, 2, or 3) are present

Try it »

[0-9]

Returns a match for any digit between 0 and 9

Try it »

[0-5][0-9]

Returns a match for any two-digit numbers from 00 and 59

Try it »

[a-zA-Z]

Returns a match for any character alphabetically between a and z, lower case OR upper case

Try it »

[+]

In sets, +, *, ., |, (), $,{} has no special meaning, so [+] means: return a match for any + character in the string

Try it »

 

 

De functie findall ()

De findall()functie retourneert een lijst met alle overeenkomsten.

Voorbeeld

Print een lijst met alle overeenkomsten:

import re

str = "The rain in Spain"
x = re.findall("ai", str)
print(x)

Voorbeeld uitvoeren »

De lijst bevat de overeenkomsten in de volgorde waarin ze worden gevonden.

Als er geen overeenkomsten worden gevonden, wordt een lege lijst geretourneerd:

Voorbeeld

Retourneer een lege lijst als er geen overeenkomst is gevonden:

import re

str = "The rain in Spain"
x = re.findall("Portugal", str)
print(x)

Voorbeeld uitvoeren »

 

 

De zoekfunctie ()

De search()functie zoekt in de tekenreeks naar een overeenkomst en retourneert een overeenkomstobject als er een overeenkomst is.

Als er meer dan één overeenkomst is, wordt alleen het eerste exemplaar van de overeenkomst geretourneerd:

Voorbeeld

Zoek naar het eerste witruimteteken in de tekenreeks:

import re

str = "The rain in Spain"
x = re.search("\s", str)

print("The first white-space character is located in position:", x.start())

Voorbeeld uitvoeren »

Als er geen overeenkomsten worden gevonden, wordt de waarde Nonegeretourneerd:

Voorbeeld

Maak een zoekopdracht die geen overeenkomst oplevert:

import re

str = "The rain in Spain"
x = re.search("Portugal", str)
print(x)

Voorbeeld uitvoeren »

 

 

De functie split ()

De split()functie retourneert een lijst waarin de tekenreeks is gesplitst bij elke overeenkomst:

Voorbeeld

Splitsen bij elk witruimteteken:

import re

str = "The rain in Spain"
x = re.split("\s", str)
print(x)

Voorbeeld uitvoeren »

U kunt het aantal keren dat het voorkomt, bepalen door de maxsplit parameter op te geven:

Voorbeeld

Splits de string alleen bij de eerste instantie:

import re

str = "The rain in Spain"
x = re.split("\s", str, 1)
print(x)

Voorbeeld uitvoeren »

 

 

De sub () functie

De sub()functie vervangt de overeenkomsten door de tekst van uw keuze:

Voorbeeld

Vervang elk witruimteteken door nummer 9:

import re

str = "The rain in Spain"
x = re.sub("\s", "9", str)
print(x)

Voorbeeld uitvoeren »

U kunt het aantal vervangingen bepalen door de count parameter op te geven:

Voorbeeld

Vervang de eerste 2 instanties:

import re

str = "The rain in Spain"
x = re.sub("\s", "9", str, 2)
print(x)

Voorbeeld uitvoeren »

 

 

Match Object

Een overeenkomstobject is een object dat informatie bevat over de zoekopdracht en het resultaat.

Opmerking: als er geen overeenkomst is, wordt de waarde Nonegeretourneerd in plaats van het overeenkomende object.

Voorbeeld

Voer een zoekopdracht uit die een overeenkomstobject retourneert:

import re

str = "The rain in Spain"
x = re.search("ai", str)
print(x) #this will print an object

Voorbeeld uitvoeren »

Het Match-object heeft eigenschappen en methoden die worden gebruikt om informatie over de zoekopdracht op te halen en het resultaat:

.span()retourneert een tuple die de start- en eindposities van de wedstrijd bevat. 
.stringretourneert de tekenreeks die in de functie is doorgegeven, 
.group()retourneert het deel van de tekenreeks waar een overeenkomst was

Voorbeeld

Print de positie (begin- en eindpositie) van de eerste overeenkomst.

De reguliere expressie zoekt naar woorden die beginnen met een hoofdletter "S":

import re

str = "The rain in Spain"
x = re.search(r"\bS\w+", str)
print(x.span())

Voorbeeld uitvoeren »

Voorbeeld

Print de string doorgegeven aan de functie:

import re

str = "The rain in Spain"
x = re.search(r"\bS\w+", str)
print(x.string)

Voorbeeld uitvoeren »

Voorbeeld

Print het deel van de string waar een match was.

De reguliere expressie zoekt naar woorden die beginnen met een hoofdletter "S":

import re

str = "The rain in Spain"
x = re.search(r"\bS\w+", str)
print(x.group())

Voorbeeld uitvoeren »

Opmerking: als er geen overeenkomst is, wordt de waarde Nonegeretourneerd in plaats van het overeenkomende object.

 

❮ VorigeVolgende ❯Python PIP

 

Wat is PIP?

PIP is een pakketbeheerder voor Python-pakketten, of modules als je wilt.

Opmerking: als u Python versie 3.4 of hoger gebruikt, wordt PIP standaard meegeleverd.

 

Wat is een pakket?

Een pakket bevat alle bestanden die u nodig hebt voor een module.

Modules zijn Python-codebibliotheken die u in uw project kunt opnemen.

 

Controleer of PIP is geïnstalleerd

Navigeer door uw opdrachtregel naar de locatie van de scriptdirectory van Python en typ het volgende:

Voorbeeld

Controleer de PIP-versie:

C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>pip --version

 

Installeer PIP

Als u geen PIP hebt geïnstalleerd, kunt u het downloaden en installeren vanaf deze pagina: https://pypi.org/project/pip/

 

Download een pakket

Het downloaden van een pakket is heel eenvoudig.

Open de opdrachtregelinterface en vertel PIP om het gewenste pakket te downloaden.

Navigeer door uw opdrachtregel naar de locatie van de scriptdirectory van Python en typ het volgende:

Voorbeeld

Download een pakket met de naam "camelcase":

C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>pip install camelcase

Nu hebt u uw eerste pakket gedownload en geïnstalleerd!

 

 

Een pakket gebruiken

Zodra het pakket is geïnstalleerd, is het klaar voor gebruik.

Importeer het "camelcase" -pakket in uw project.

Voorbeeld

Importeer en gebruik "camelcase":

import camelcase

c = camelcase.CamelCase()

txt = "hello world"

print(c.hump(txt))

 

Verwijder een pakket

Gebruik de uninstallopdracht om een ​​pakket te verwijderen:

Voorbeeld

Deinstalleer het pakket met de naam "camelcase":

C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>pip uninstall camelcase

De PIP Package Manager vraagt ​​u om te bevestigen dat u het camelcase-pakket wilt verwijderen:

Uninstalling camelcase-02.1:
  Would remove:
    c:\users\Your Name\appdata\local\programs\python\python36-32\lib\site-packages\camecase-0.2-py3.6.egg-info
    c:\users\Your Name\appdata\local\programs\python\python36-32\lib\site-packages\camecase\*
Proceed (y/n)?

Druk op yen het pakket wordt verwijderd.

 

Lijstpakketten

Gebruik de listopdracht om een ​​lijst weer te geven van alle pakketten die op uw systeem zijn geïnstalleerd:

Voorbeeld

Lijst geïnstalleerde pakketten:

C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>pip list

Resultaat:

Package         Version
-----------------------
camelcase       0.2
mysql-connector 2.1.6
pip             18.1
pymongo         3.6.1
setuptools      39.0.1

 

 

Python Probeer behalve

 

 

Met dit tryblok kunt u een codeblok testen op fouten.

Het exceptblok laat je de fout verwerken.

Met dit finallyblok kun je code uitvoeren, ongeacht het resultaat van de try-en except blocks.

 

Afhandeling van uitzonderingen

Wanneer er een fout optreedt, of een uitzondering zoals we dit noemen, zal Python normaal gesproken stoppen en een foutmelding genereren.

Deze uitzonderingen kunnen worden behandeld met behulp van de tryinstructie:

Voorbeeld

Het tryblok genereert een uitzondering, omdat xdit niet is gedefinieerd:

try:
  print(x)
except:
  print("An exception occurred")

Omdat het try-blok een fout veroorzaakt, wordt het behalve blok uitgevoerd.

Zonder het try-blok zal het programma crashen en een foutmelding geven:

Voorbeeld

Met deze instructie wordt een fout gegenereerd, omdat deze xniet is gedefinieerd:

print(x)

 

Veel uitzonderingen

U kunt zoveel uitzonderingsblokken definiëren als u wilt, bijvoorbeeld als u een speciaal codeblok wilt uitvoeren voor een speciaal soort fout:

Voorbeeld

Druk een bericht af als het try-blok de a verhoogt NameErroren een ander voor andere fouten:

try:
  print(x)
except NameError:
  print("Variable x is not defined")
except:
  print("Something else went wrong")

 

 

Anders

U kunt het elsetrefwoord gebruiken om een ​​codeblok te definiëren dat moet worden uitgevoerd als er geen fouten zijn opgetreden:

Voorbeeld

In dit voorbeeld trygenereert het blok geen enkele fout:

try:
  print("Hello")
except:
  print("Something went wrong")
else:
  print("Nothing went wrong")

 

Tenslotte

Het finallyblok, indien opgegeven, wordt uitgevoerd, ongeacht of het try-blok een fout veroorzaakt of niet.

Voorbeeld

try:
  print(x)
except:
  print("Something went wrong")
finally:
  print("The 'try except' is finished")

Dit kan handig zijn om objecten te sluiten en resources op te ruimen:

Voorbeeld

Probeer een bestand te openen en te schrijven dat niet schrijfbaar is:

probeer:
  f = open ("demofile.txt")
  f.write ("Lorum Ipsum")
behalve:
  print ("Er is iets fout gegaan bij het schrijven naar het bestand")
tenslotte:
  f.close ()

Het programma kan doorgaan, zonder het bestandsobject open te laten.