Python - Basissyntaxis
De Python-taal heeft veel overeenkomsten met Perl, C en Java. Er zijn echter enkele duidelijke verschillen tussen de talen.
Eerste Python-programma
Laten we programma's in verschillende programmeermodi uitvoeren.
Interactieve modus programmeren
Als u de interpreter aanroept zonder een scriptbestand als parameter door te geven, wordt de volgende prompt weergegeven −
$ python Python 2.4.3 (#1, Nov 11 2010, 13:34:43) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Typ de volgende tekst achter de Python-prompt en druk op Enter −
>>> print "Hello, Python!"
Als u een nieuwe versie van Python gebruikt, moet u de instructie print met haakjes gebruiken zoals in print ("Hallo, Python!"); . In Python versie 2.4.3 levert dit echter het volgende resultaat op −
Hello, Python!
Scriptmodus programmeren
Het aanroepen van de interpreter met een scriptparameter begint de uitvoering van het script en gaat door totdat het script is voltooid. Als het script klaar is, is de interpreter niet langer actief.
Laten we een eenvoudig Python-programma in een script schrijven. Python-bestanden hebben de extensie .py . Typ de volgende broncode in een test.py-bestand −
Live demoprint "Hello, Python!"
We gaan ervan uit dat de Python-interpreter is ingesteld in de variabele PATH. Probeer dit programma nu als volgt uit te voeren −
$ python test.py
Dit levert het volgende resultaat op −
Hello, Python!
Laten we een andere manier proberen om een Python-script uit te voeren. Hier is het gewijzigde test.py-bestand −
Live demo#!/usr/bin/python print "Hello, Python!"
We gaan ervan uit dat je Python-interpreter beschikbaar hebt in de map /usr/bin. Probeer dit programma nu als volgt uit te voeren −
$ chmod +x test.py # This is to make file executable $./test.py
Dit levert het volgende resultaat op −
Hello, Python!
Python-ID's
Een Python-ID is een naam die wordt gebruikt om een variabele, functie, klasse, module of ander object te identificeren. Een identifier begint met een letter A tot Z of a tot z of een onderstrepingsteken (_) gevolgd door nul of meer letters, onderstrepingstekens en cijfers (0 tot 9).
Python staat geen interpunctietekens zoals @, $ en % toe binnen identifiers. Python is een hoofdlettergevoelige programmeertaal. Dus, Mankracht en mankracht zijn twee verschillende identifiers in Python.
Hier zijn naamconventies voor Python-ID's −
-
Klassenamen beginnen met een hoofdletter. Alle andere identifiers beginnen met een kleine letter.
-
Het starten van een identifier met een enkel voorliggend onderstrepingsteken geeft aan dat de identifier privé is.
-
Het starten van een identifier met twee voorlopende underscores duidt op een sterk private identifier.
-
Als de identifier ook eindigt met twee achterste onderstrepingstekens, is de identifier een door de taal gedefinieerde speciale naam.
Gereserveerde woorden
De volgende lijst toont de Python-sleutelwoorden. Dit zijn gereserveerde woorden en u kunt ze niet gebruiken als constante of variabele of andere identificatienamen. Alle Python-sleutelwoorden bevatten alleen kleine letters.
en | exec | niet |
beweren | eindelijk | of |
pauze | voor | geslaagd |
klasse | van | afdrukken |
doorgaan | wereldwijd | verhogen |
def | als | retour |
del | importeren | probeer |
elif | in | terwijl |
anders | is | met |
behalve | lambda | opbrengst |
Lijnen en inspringing
Python biedt geen accolades om codeblokken aan te geven voor klasse- en functiedefinities of flow control. Codeblokken worden aangegeven met regelinspringing, wat strikt wordt gehandhaafd.
Het aantal spaties in de inspringing is variabel, maar alle instructies binnen het blok moeten evenveel inspringen. Bijvoorbeeld −
if True: print "True" else: print "False"
Het volgende blok genereert echter een fout −
if True: print "Answer" print "True" else: print "Answer" print "False"
Dus in Python zouden alle ononderbroken lijnen die zijn ingesprongen met hetzelfde aantal spaties een blok vormen. Het volgende voorbeeld heeft verschillende instructieblokken −
Opmerking − Probeer de logica op dit moment niet te begrijpen. Zorg ervoor dat je verschillende blokken begrijpt, zelfs als ze zonder accolades zijn.
#!/usr/bin/python import sys try: # open file stream file = open(file_name, "w") except IOError: print "There was an error writing to", file_name sys.exit() print "Enter '", file_finish, print "' When finished" while file_text != file_finish: file_text = raw_input("Enter text: ") if file_text == file_finish: # close the file file.close break file.write(file_text) file.write("\n") file.close() file_name = raw_input("Enter filename: ") if len(file_name) == 0: print "Next time please enter something" sys.exit() try: file = open(file_name, "r") except IOError: print "There was an error reading file" sys.exit() file_text = file.read() file.close() print file_text
Meerdere regels
Verklaringen in Python eindigen meestal met een nieuwe regel. Python staat echter het gebruik van het regelvervolgteken (\) toe om aan te geven dat de regel moet doorgaan. Bijvoorbeeld −
total = item_one + \ item_two + \ item_three
Voor uitspraken tussen haakjes [], {} of () hoeft het regelvervolgteken niet te worden gebruikt. Bijvoorbeeld −
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Citaat in Python
Python accepteert enkele ('), dubbele (") en driedubbele (''' of """) aanhalingstekens om letterlijke tekenreeksen aan te duiden, zolang hetzelfde type aanhalingstekens de tekenreeks begint en eindigt.
De drievoudige aanhalingstekens worden gebruikt om de tekenreeks over meerdere regels te spannen. Alle volgende zijn bijvoorbeeld legaal −
word = 'word' sentence = "This is a sentence." paragraph = """This is a paragraph. It is made up of multiple lines and sentences."""
Opmerkingen in Python
Een hekje (#) dat niet in een letterlijke tekenreeks staat, begint een opmerking. Alle tekens na de # en tot aan het einde van de fysieke regel maken deel uit van de opmerking en de Python-interpreter negeert ze.
Live demo#!/usr/bin/python # First comment print "Hello, Python!" # second comment
Dit levert het volgende resultaat op −
Hello, Python!
U kunt een opmerking op dezelfde regel typen na een uitspraak of uitdrukking −
name = "Madisetti" # This is again comment
U kunt als volgt op meerdere regels reageren −
# This is a comment. # This is a comment, too. # This is a comment, too. # I said that already.
De volgende tekenreeks met drie aanhalingstekens wordt ook genegeerd door de Python-interpreter en kan worden gebruikt als commentaar met meerdere regels:
''' This is a multiline comment. '''
Witte regels gebruiken
Een regel die alleen witruimte bevat, mogelijk met een opmerking, staat bekend als een lege regel en Python negeert deze volledig.
In een interactieve tolksessie moet u een lege fysieke regel invoeren om een instructie met meerdere regels te beëindigen.
Wachten op de gebruiker
De volgende regel van het programma toont de prompt, de verklaring "Druk op de enter-toets om af te sluiten", en wacht tot de gebruiker actie onderneemt −
#!/usr/bin/python raw_input("\n\nPress the enter key to exit.")
Hier wordt "\n\n" gebruikt om twee nieuwe regels te maken voordat de eigenlijke regel wordt weergegeven. Zodra de gebruiker op de toets drukt, eindigt het programma. Dit is een leuke truc om een consolevenster open te houden totdat de gebruiker klaar is met een toepassing.
Meerdere uitspraken op één regel
De puntkomma (; ) staat meerdere instructies op één regel toe, aangezien geen van beide instructies een nieuw codeblok begint. Hier is een voorbeeld van een knipsel met de puntkomma −
import sys; x = 'foo'; sys.stdout.write(x + '\n')
Meerdere instructiegroepen als suites
Een groep individuele instructies, die een enkel codeblok vormen, worden suites . genoemd in Python. Samengestelde of complexe instructies, zoals if, while, def en class vereisen een kopregel en een suite.
Kopregels beginnen de instructie (met het sleutelwoord) en eindigen met een dubbele punt (:) en worden gevolgd door een of meer regels waaruit de suite bestaat. Bijvoorbeeld −
if expression : suite elif expression : suite else : suite
Opdrachtregelargumenten
Veel programma's kunnen worden uitgevoerd om u basisinformatie te geven over hoe ze moeten worden uitgevoerd. Python stelt je in staat om dit te doen met -h −
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
U kunt uw script ook zo programmeren dat het verschillende opties moet accepteren. Commandoregelargumenten is een geavanceerd onderwerp en zou wat later moeten worden bestudeerd als je de rest van de Python-concepten hebt doorgenomen.
Python