290 likes | 494 Views
Język Python. Piotr Kasprzyk Instytut Informatyki Politechniki Śląskiej. Plan prezentacji. własności języka Python przykłady programów wnioski. Powody zainteresowania językiem Python. cena język dla wszystkich, nie tylko dla programistów platformy: DOS, Windows/CE, MacOS, Linux
E N D
Język Python Piotr Kasprzyk Instytut Informatyki Politechniki Śląskiej
Plan prezentacji • własności języka Python • przykłady programów • wnioski
Powody zainteresowania językiem Python • cena • język dla wszystkich, nie tylko dla programistów • platformy: DOS, Windows/CE, MacOS, Linux • możliwości: bazy danych, sieci, przetwarzanie napisów, obliczenia, integracja aplikacji
Cechy języka Python • interpretowany • ciekawa składnia języka • duża biblioteka standardowych procedur • skalowalny • nieodpowiedni dla sterowników urządzeń, monolitycznych aplikacji
Python - kalkulator >>> 2 + 1 3
Operacje na liczbach zespolonych >>> (1 + 3j) * 2j (-6+2j) >>> (1 + 3j) / 2j (1.5-0.5j)
Długie liczby całkowite >>> 101010101010101L * 1111111111111111L 112233445566778877665544332211L
Ograniczniki napisów >>> 'To jest „cytat”' ”It's here” 'To jest ”cytat”It\'s here'
Napisy w wielu liniach >>> '''Pierwsza linia ... Druga linia ... Trzecia linia''' 'Pierwsza linia\nDruga linia\nTrzecia linia'
Operacje łączenia i powtarzania >>> 3 * 'C' + 'P' 'CCCP'
Operacje na ciągach >>> [1,"dwa", 3.0] * 4 [1, 'dwa', 3.0, 1, 'dwa', 3.0, 1, 'dwa', 3.0, 1, 'dwa', 3.0] >>> "Konstanty"[3] 's' >>> "Konstanty"[3:7] 'stan' >>> "Konstanty"[3:] 'stanty'
Odczytanie treści pliku tekst = open(‘dane.txt’).read()
Zamiana ciągu znaków Zamiana wzorca „abc” na „wxyz” Plik „dane.txt”: ababcdacabcaa Plik „wynik.txt”: abwxyzdacwxyzaa
Zamiana ciągu znaków – wersja tradycyjna >>> plik = open('dane.txt') >>> tekst = plik.read() >>> plik.close() >>> lista = tekst.split(‘abc') >>> poprawiony = ‘wxyz'.join(lista) >>> plik2 = open('wynik.txt','w') >>> plik2.write(poprawiony) >>> plik2.close()
Zamiana ciągu znaków – lepsze wykorzystanie cech Pythona >>> open('wynik.txt','w').write(‘wxyz'.join( ... open('dane.txt').read().split(‘abc')))
Odtwarzanie dźwięku import pygame pygame.mixer.init() sound = pygame.mixer.Sound(r'C:\Media\Ding.wav') sound.play()
Obsługa napędu CD-ROM import pygame pygame.cdrom.init() cd = pygame.cdrom.CD(0) cd.get_name() cd.init() cd.get_numtracks() cd.play(1) cd.eject()
Grafika żółwia import turtle turtle.forward(30) turtle.right(90)
Pobieranie strony WWW import urllib filename, header = urllib.urlretrieve('http://serwer.pl') open(filename).read() header.headers
Transmisja plikówprotokół FTP import ftplib ftp = ftplib.FTP('serwer.pl') ftp.login() ftp.cwd('/pub') ftp.retrlines('LIST') ftp.retrbinary('RETR README', open('README', 'wb').write)
Pobieranie pocztyprotokół POP3 import poplib M = poplib.POP3('serwer.pl') M.user('użytkownik') M.pass_('hasło') numMessages = len(M.list()[1]) for i in range(numMessages): for j in M.retr(i+1)[1]: print j M.quit()
Prosty serwer TCP from socket import * s = socket(AF_INET, SOCK_STREAM) s.bind(('', 8000)) s.listen(3) conn, addr = s.accept() conn.send('Wiadomość dla odbiorcy') conn.close()
Prosty klient WWW from socket import * s = socket(AF_INET, SOCK_STREAM) s.connect(('serwer.pl',80)) s.send('GET / HTTP/1.0\r\n\r\n') s.recv(2000) s.close()
Wnioski • czytelny kod o małej objętości • zastosowania w różnych obszarach • większa efektywność i kreatywność programisty
Integrowanie modułów POP3 Dźwięk Pliki TCP/IP FTP Python Bazy danych CD-ROM Grafika WWW
Dodatkowe informacje • http://www.python.org • http://diveintopython.org • http://www.uselesspython.com