Python

Python jest interpretowanym językiem skryptowym o dość ciekawych możliwościach. Najistotniejszą różnicą w stosunku co do innych języków jest wyznaczanie bloków kodu wyłącznie przy pomocy wcięć. Język ten posiada zaawansowaną obsługę list (m.in. operatory wykonujące działanie na każdym z elementów listy). Poniżej przedstawiam przykład prezentujący podstawowe cechy tego języka, zachęcam także do zapoznania się z podręcznikiem Pythona w Wikibooks, How to Think Like a Computer Scientist: Learning with Pythonkopia lokalna, Non-Programmer's Tutorial for Python 3, Non-Programmer's Tutorial for Python 2.6, Think Python, A Beginner's Python Tutorial oraz skryptem do mirrorngu mediawiki i skryptem do zapisywania załączników z poczty.

Sporą zaletą tego języka jest całkiem dobra integracja z C++ z użyciem "Python C API" lub "Boost Python". Możliwe jest zarówno stworzenie biblioteki w C++, którą wykorzystamy w kodzie pythonowym jak też (trochę bardziej złożone w realizacji) wywołanie kodu pythonowego z C++. Zamieszczam dwa przykłady związane z współpracą C++ i Pythona:

Poniżej krótki przykład programu w pythonie. Ponaddto zamieszczam skrypt do sprawdzania czy podany adres ip zawiera się w którejś apachowej regułce "allow from" (i wskazania tej reguły) - jest to przydatne przy szukaniu błędów w rozbudowanych plikach tego typu.

#!/usr/bin/python
# coding: utf-8

u'''Jest to forma komentarza wielolinijkowego,
jeżeli wsytępuje on na początku bloku funkcji czy całego skryptu
pełni on funkcję dokumentacyjną
poprzedzenie otwierających 3 apostrofów literą u pozwala na zapis zanaków unikodu'''

# na początek standardowe Hello World
print "Hello World"

# teraz deklaracja funkcji
def info(napis, numer=10):
  """to również jest komentaż wielolinijkowy
  warto zwórcić uwagę iż blok instrukcji składających się na deklarację funkcji
  wydzielony jest WYŁĄCZNIE przy pomocy wcięc"""
  
  # jak widać pętla for przypomina trochę tą z basha
  for i in range(numer+1):
    print napis
    if (i % 2 == 0):
      print "^^^ to był parzysty wypis (i=%d)" % i
    else:
      print ""


# a to znowu kod główny
info("Ala ma kota", 3)

print "=============="

# obsługa list ...
lista_liczb = [1, 3, 6, 3]
print "YY " .join(["XX: %d\n" % n for n in lista_liczb])

lista_napisow = ['aaa', 'bbb', 'ccc', 'ddd']
print lista_napisow[1]
print lista_napisow[-1]
print "elemnt ccc ma indeks %d" % lista_napisow.index("ccc")


Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/programing/python) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2015-10-19 19:55:29 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).