Python jest otwartym, przenośnym, bezpłatnym, konfigurowalnym, efektywnym i nowoczesnym językiem programowania, który oferuje szeroki zakres atrakcyjnych funkcji i umożliwia twórcom aplikacji tworzenie projektów oprogramowania, które są w pełni kompatybilne ze wszystkimi głównymi systemy operacyjne.
Opcje wiersza poleceń
Domyślne opcje wiersza polecenia obejmują optymalizację wygenerowanego kodu bajtowego, optymalizację wygenerowanego kodu bajtowego i usunięcie ciągów dokumentów, użycie formularzy #! cmd poza systemem UNIX poprzez pominięcie pierwszego wiersza źródła, ochronę przed DoS (odmowa usługi ) ataki poprzez tworzenie wartości mieszania () różnych typów są nieprzewidywalne, używając soli pseudolosowej.
Dodatkowo, program pozwala również na dodawanie różnych opcji podziału, takich jak -Qnew, Qwarn, Qold i Qwarnall, wydawanie ostrzeżeń o niezgodnym użyciu tabulatora, uruchamianie programu w trybie szczegółowym, otrzymywanie ostrzeżeń o Pythonie 3.x niekompatybilności, a także do debugowania danych wyjściowych z analizatora składni i ignorowania zmiennych środowiskowych PYTHON *.
Pierwsze kroki w Pythonie
Język programowania Python jest często porównywany z językami programowania / skryptowania Java, Perl, Scheme lub Tcl. Jest kompatybilny ze wszystkimi dystrybucjami GNU / Linux, a także z Microsoft Windows, Mac OS X, Solaris, BSD i kilkoma innymi systemami podobnymi do UNIX. Obecnie jest kompatybilny zarówno z architekturami 32-bitowymi (x86), jak i 64-bitowymi (x86_64).
Zainstalowanie Pythona w twoim systemie jest dość łatwym zadaniem, ponieważ wszystko, co musisz zrobić, to uzyskać dostęp do domyślnego menedżera pakietów twojego systemu GNU / Linux i wyszukać & pyto & rsquo; pakiet. Zainstaluj go, a następnie wejdź z nim w interakcję za pośrednictwem emulatora terminala Linux.
Hardcore Linux / UNIX, który chce zoptymalizować język Python dla swojej architektury sprzętowej, może to zrobić poprzez pobranie najnowszej wersji projektu z Softoware, zapisanie archiwum źródłowego (plik tar.xz) na swoim komputerze, rozpakowanie go, otwarcie emulator terminala i przejdź do lokalizacji wyodrębnionych plików archiwalnych za pomocą & cd; cd & rsquo; polecenie.
Użyj opcji & lsquo; ./ configure & rsquo; polecenie, aby dokonać pewnych optymalizacji, a następnie wykonać polecenie & rsquo; polecenie do kompilowania Pythona. Na koniec zainstaluj cały system Python, uruchamiając & lsquo; make install & rsquo; command jako root lub z sudo.
Co nowego w tej wersji:
- Biblioteka:
- [Zabezpieczenia] bpo-30730: Zapobiegaj wtryskom zmiennych środowiskowych w podprocesie w systemie Windows. Zapobiegaj przekazywaniu innych zmiennych środowiskowych i argumentów poleceń.
- [Zabezpieczenia] bpo-30694: Uaktualnij kopię ekspedycji z 2.2.0 do 2.2.1, aby uzyskać poprawki wielu luk bezpieczeństwa, w tym: CVE-2017-9233 (Zewnętrzna pętla nieskończonej pętli zewnętrznej jednostki), CVE-2016-9063 (Integer) przepełnienie, ponowne naprawienie), CVE-2016-0718 (Napraw błędy regresji z poprawki 2.2.0 do CVE-2016-0718) i CVE-2012-0876 (Counter hash flood z SipHash). Uwaga: CVE-2016-5300 (Użyj specyficznych dla os, źródeł entropii, takich jak getrandom) nie ma wpływu na Python, ponieważ Python już pobiera entropię z systemu operacyjnego, aby ustawić klucz expat przy użyciu XML_SetHashSalt ().
- [Zabezpieczenia] bpo-30500: Napraw urllib.parse.splithost (), aby poprawnie przeanalizować fragmenty. Na przykład, splithost ("// 127.0.0.1#@evil.com/") teraz poprawnie zwraca hosta 127.0.0.1, zamiast traktowania @ evil.com jako hosta w uwierzytelnianiu (login @ host).
Co nowego w wersji:
- Biblioteka:
- [Zabezpieczenia] bpo-30730: Zapobiegaj wtryskom zmiennych środowiskowych w podprocesie w systemie Windows. Zapobiegaj przekazywaniu innych zmiennych środowiskowych i argumentów poleceń.
- [Zabezpieczenia] bpo-30694: Uaktualnij kopię ekspedycji z 2.2.0 do 2.2.1, aby uzyskać poprawki wielu luk bezpieczeństwa, w tym: CVE-2017-9233 (Zewnętrzna pętla nieskończonej pętli zewnętrznej jednostki), CVE-2016-9063 (Integer) przepełnienie, ponowne naprawienie), CVE-2016-0718 (Napraw błędy regresji z poprawki 2.2.0 do CVE-2016-0718) i CVE-2012-0876 (Counter hash flood z SipHash). Uwaga: CVE-2016-5300 (Użyj specyficznych dla os, źródeł entropii, takich jak getrandom) nie ma wpływu na Python, ponieważ Python już pobiera entropię z systemu operacyjnego, aby ustawić klucz expat przy użyciu XML_SetHashSalt ().
- [Zabezpieczenia] bpo-30500: Napraw urllib.parse.splithost (), aby poprawnie przeanalizować fragmenty. Na przykład, splithost ("// 127.0.0.1#@evil.com/") teraz poprawnie zwraca hosta 127.0.0.1, zamiast traktowania @ evil.com jako hosta w uwierzytelnianiu (login @ host).
Co nowego w wersji 3.6.1 / 3.6.2 RC1:
- PEP 441, poprawiona obsługa aplikacji Zip Python
- PEP 448, dodatkowe generalizacje rozpakowywania
- PEP 461, "% - formatowanie" dla bajtów i bytearray obiektów
- PEP 465, nowy operator (@) dla mnożenia macierzy
- PEP 471, os.scandir (), nowa funkcja szybkiego przeglądania katalogu
- PEP 475, dodając obsługę automatycznych prób przerwanych wywołań systemowych
- PEP 479, zmień obsługę StopIteration wewnątrz generatorów
- PEP 484, moduł do pisania, nowy standard dla adnotacji typu
- PEP 485, math.isclose (), funkcja do testowania przybliżonej równości
- PEP 486, dzięki czemu program uruchamiający system Windows Python będzie świadomy środowisk wirtualnych
- PEP 488, eliminując pliki .pyo
- PEP 489, nowy i ulepszony mechanizm ładowania modułów rozszerzeń
- PEP 492, coroutines z asynchroniczną i oczekującą składnią
Co nowego w wersji 3.6.1:
- PEP 441, poprawiona obsługa aplikacji Zip Python
- PEP 448, dodatkowe generalizacje rozpakowywania
- PEP 461, "% - formatowanie" dla bajtów i bytearray obiektów
- PEP 465, nowy operator (@) dla mnożenia macierzy
- PEP 471, os.scandir (), nowa funkcja szybkiego przeglądania katalogu
- PEP 475, dodając obsługę automatycznych prób przerwanych wywołań systemowych
- PEP 479, zmień obsługę StopIteration wewnątrz generatorów
- PEP 484, moduł do pisania, nowy standard dla adnotacji typu
- PEP 485, math.isclose (), funkcja do testowania przybliżonej równości
- PEP 486, dzięki czemu program uruchamiający system Windows Python będzie świadomy środowisk wirtualnych
- PEP 488, eliminując pliki .pyo
- PEP 489, nowy i ulepszony mechanizm ładowania modułów rozszerzeń
- PEP 492, coroutines z asynchroniczną i oczekującą składnią
Co nowego w wersji 3.6.0:
- PEP 441, poprawiona obsługa aplikacji Zip Python
- PEP 448, dodatkowe generalizacje rozpakowywania
- PEP 461, "% - formatowanie" dla bajtów i bytearray obiektów
- PEP 465, nowy operator (@) dla mnożenia macierzy
- PEP 471, os.scandir (), nowa funkcja szybkiego przeglądania katalogu
- PEP 475, dodając obsługę automatycznych prób przerwanych wywołań systemowych
- PEP 479, zmień obsługę StopIteration wewnątrz generatorów
- PEP 484, moduł do pisania, nowy standard dla adnotacji typu
- PEP 485, math.isclose (), funkcja do testowania przybliżonej równości
- PEP 486, dzięki czemu program uruchamiający system Windows Python będzie świadomy środowisk wirtualnych
- PEP 488, eliminując pliki .pyo
- PEP 489, nowy i ulepszony mechanizm ładowania modułów rozszerzeń
- PEP 492, coroutines z asynchroniczną i oczekującą składnią
Co nowego w wersji 3.5.2:
- PEP 441, poprawiona obsługa aplikacji Zip Python
- PEP 448, dodatkowe generalizacje rozpakowywania
- PEP 461, "% - formatowanie" dla bajtów i bytearray obiektów
- PEP 465, nowy operator (@) dla mnożenia macierzy
- PEP 471, os.scandir (), nowa funkcja szybkiego przeglądania katalogu
- PEP 475, dodając obsługę automatycznych prób przerwanych wywołań systemowych
- PEP 479, zmień obsługę StopIteration wewnątrz generatorów
- PEP 484, moduł do pisania, nowy standard dla adnotacji typu
- PEP 485, math.isclose (), funkcja do testowania przybliżonej równości
- PEP 486, dzięki czemu program uruchamiający system Windows Python będzie świadomy środowisk wirtualnych
- PEP 488, eliminując pliki .pyo
- PEP 489, nowy i ulepszony mechanizm ładowania modułów rozszerzeń
- PEP 492, coroutines z asynchroniczną i oczekującą składnią
Co nowego w wersji 3.5.1:
- PEP 441, poprawiona obsługa aplikacji Zip Python
- PEP 448, dodatkowe generalizacje rozpakowywania
- PEP 461, "% - formatowanie" dla bajtów i bytearray obiektów
- PEP 465, nowy operator (@) dla mnożenia macierzy
- PEP 471, os.scandir (), nowa funkcja szybkiego przeglądania katalogu
- PEP 475, dodając obsługę automatycznych prób przerwanych wywołań systemowych
- PEP 479, zmień obsługę StopIteration wewnątrz generatorów
- PEP 484, moduł do pisania, nowy standard dla adnotacji typu
- PEP 485, math.isclose (), funkcja do testowania przybliżonej równości
- PEP 486, dzięki czemu program uruchamiający system Windows Python będzie świadomy środowisk wirtualnych
- PEP 488, eliminując pliki .pyo
- PEP 489, nowy i ulepszony mechanizm ładowania modułów rozszerzeń
- PEP 492, coroutines z asynchroniczną i oczekującą składnią
Co nowego w wersji 3.5.0:
- Python 3.5.0 to najnowsza wersja Język Python i zawiera wiele ekscytujących nowych funkcji i optymalizacji.
Co nowego w wersji 3.4.3:
- Ta wersja zawiera ponad trzysta poprawek błędów i inne ulepszenia w porównaniu z wersją 3.4.0. Jedna godna uwagi zmiana: wersja OpenSSL w pakiecie z instalatorem Windows nie ma już luki w HeartBleed.
Co nowego w wersji 3.4.2:
- Ta wersja zawiera ponad trzysta poprawek błędów i innych poprawki powyżej 3.4.0. Jedna godna uwagi zmiana: wersja OpenSSL w pakiecie z instalatorem Windows nie ma już luki w HeartBleed.
Co nowego w wersji 3.4.0 RC1:
- PEP 380, składnia do delegowania do podzbiornika (wydajność z)
- PEP 393, elastyczna reprezentacja ciągów znaków (rezygnacja z rozróżnienia między "szerokimi" i "wąskimi" kompilacjami w standardzie Unicode)
- Implementacja C wartości "dziesiętnej". moduł, z przyspieszeniem do 120x dla aplikacji dziesiętnie ciężkich
- System importu (__import__) jest domyślnie oparty na importlib
- Nowy "lzma" moduł z obsługą LZMA / XZ
- PEP 397, program uruchamiający Python dla systemu Windows
- PEP 405, obsługa środowiska wirtualnego w rdzeniu
- PEP 420, obsługa pakietów przestrzeni nazw
- PEP 3151, zmiana hierarchii wyjątków systemu operacyjnego i IO
- PEP 3155, kwalifikowana nazwa dla klas i funkcji
- PEP 409, pomijanie kontekstu wyjątku
- PEP 414, jawne literały Unicode ułatwiające portowanie
- PEP 418, rozszerzone niezależne od platformy zegary w "czasie" moduł
- PEP 412, nowa implementacja słownika współdzielenia klucza, która znacząco oszczędza pamięć dla kodu obiektowego
- PEP 362, obiekt sygnatury funkcji
- Nowy "faulthandler" moduł, który pomaga diagnozować awarie
- Nowe "unittest.mock" moduł
- Nowy "adres ipad" moduł
- "Sys.implementation" atrybut
- Ramy polityki dla pakietu wiadomości e-mail z tymczasową (patrz PEP 411) zasadami, które dodają znacznie ulepszoną obsługę Unicode do parsowania nagłówków e-maili
- A "collections.ChainMap & quot; klasa do powiązania odwzorowań z pojedynczą jednostką
- Owijarki dla wielu innych funkcji POSIX w "os" i "sygnał" moduły, jak również inne użyteczne funkcje, takie jak "sendfile ()"
- Randomizacja skrótu, wprowadzona we wcześniejszych wydaniach poprawkowych, jest teraz domyślnie włączona
Co nowego w wersji 3.4.0 Beta 2:
- PEP 428, a "pathlib" moduł zapewniający obiektowe ścieżki systemu plików
- PEP 435, standaryzowane "wyliczenie" ("enum"); moduł
- PEP 436, ulepszenie kompilacji, które pomoże wygenerować informacje introspekcji dla wbudowanych
- PEP 442, ulepszona semantyka do finalizacji obiektu
- PEP 443, dodając ogólne funkcje pojedynczej wysyłki do standardowej biblioteki
- PEP 445, nowy API C do implementacji niestandardowych alokatorów pamięci
- PEP 446, zmieniając deskryptory plików, aby domyślnie nie były dziedziczone w podprocesach
- PEP 450, nowa "statystyka" moduł
- PEP 451, standaryzacja metadanych modułu dla systemu importu modułów Pythona
- PEP 453, dołączony instalator dla menedżera pakietów pip
- PEP 454, nowy "tracemalloc"; moduł do śledzenia alokacji pamięci Pythona
- PEP 456, nowy algorytm skrótu dla łańcuchów i danych binarnych w języku Python
- PEP 3154, nowy i ulepszony protokół dla piklowanych obiektów
- PEP 3156, nowy "asyncio" moduł, nowy framework dla asynchronicznych operacji we / wy
Co nowego w wersji 3.4.0 Beta 1:
- PEP 428, a "pathlib" moduł zapewniający obiektowe ścieżki systemu plików
- PEP 435, standaryzowane "wyliczenie" ("enum"); moduł
- PEP 436, ulepszenie kompilacji, które pomoże wygenerować informacje introspekcji dla wbudowanych
- PEP 442, ulepszona semantyka do finalizacji obiektu
- PEP 443, dodając ogólne funkcje pojedynczej wysyłki do standardowej biblioteki
- PEP 445, nowy API C do implementacji niestandardowych alokatorów pamięci
- PEP 446, zmieniając deskryptory plików, aby domyślnie nie były dziedziczone w podprocesach
- PEP 450, nowa "statystyka" moduł
- PEP 451, standaryzacja metadanych modułu dla systemu importu modułów Pythona
- PEP 453, dołączony instalator dla menedżera pakietów pip
- PEP 454, nowy "tracemalloc"; moduł do śledzenia alokacji pamięci Pythona
- PEP 456, nowy algorytm skrótu dla łańcuchów i danych binarnych w języku Python
- PEP 3154, nowy i ulepszony protokół dla piklowanych obiektów
- PEP 3156, nowy "asyncio" moduł, nowy framework dla asynchronicznych operacji we / wy
Co nowego w wersji 3.4.0 Alpha 4:
- PEP 435, standaryzowany "enum"; moduł
- PEP 436, ulepszenie kompilacji, które pomoże wygenerować informacje introspekcji dla wbudowanych
- PEP 442, ulepszona semantyka do finalizacji obiektu
- PEP 443, dodając ogólne funkcje pojedynczej wysyłki do standardowej biblioteki
- PEP 445, nowy API C do implementacji niestandardowych alokatorów pamięci
- PEP 446, zmieniając deskryptory plików, aby domyślnie nie były dziedziczone w podprocesach
- PEP 450, nowe "statystyki" moduł
- PEP 3156, nowy "asyncio" moduł, nowy framework dla asynchronicznych operacji we / wy
Co nowego w wersji 2.7.6:
- Zmieniony typ słownika
- Nowe funkcje unittest, w tym pomijanie testów, nowe metody asercji i testowe odnajdywanie
- Znacznie szybszy moduł io
- Automatyczna numeracja pól w metodzie str.format ()
- Poprawki repraktowania Float przeniesiono z 3.x
- Obsługa kafelków dla Tkintera
- Backport obiektu widoku pamięci z 3.x
- Ustaw literały
- Zestaw i zrozumienie słownika
- Widoki słownika
- Nowa składnia zagnieżdżonych instrukcji
- Moduł sysconfig
Co nowego w wersji 3.2.5:
- liczne ulepszenia modułu unittest
- PEP 3147, obsługa katalogów .pyc repozytorium
- PEP 3149, obsługa bibliotek dynamicznych z oznaczeniem wersji
- PEP 3148, nowa biblioteka futures do programowania współbieżnego
- PEP 384, stabilny ABI dla modułów rozszerzeń
- PEP 391, słownikowa konfiguracja logowania
- przebudowana implementacja GIL, która redukuje rywalizację
- rozszerzony pakiet wiadomości e-mail obsługujący komunikaty bajtów
- znacznie ulepszony moduł ssl z obsługą kontekstów SSL i zgodności nazwy hosta certyfikatu
- moduł sysconfig, aby uzyskać dostęp do informacji konfiguracyjnych
- dodatki do modułu zamykającego, w tym obsługa plików archiwalnych
- wiele rozszerzeń konfiguratora, w tym obsługa protokołu mapowania
- ulepszenia pdb, debuggera Python
- niezliczone poprawki dotyczące błędów związanych z bajtami / ciągami; wśród nich pełna obsługa środowiska bajtów (nazwy plików, zmienne środowiskowe)
- wiele poprawek i poprawek dotyczących operacji numerycznych
Co nowego w wersji 3.3.2:
- PEP 380, składnia do delegowania do podzbiornika (wydajność z)
- PEP 393, elastyczna reprezentacja ciągów znaków (rezygnacja z rozróżnienia między "szerokimi" i "wąskimi" kompilacjami w standardzie Unicode)
- Implementacja C wartości "dziesiętnej". moduł, z przyspieszeniem do 120x dla aplikacji dziesiętnie ciężkich
- System importu (__import__) jest domyślnie oparty na importlib
- Nowy "lzma" moduł z obsługą LZMA / XZ
- PEP 397, program uruchamiający Python dla systemu Windows
- PEP 405, obsługa środowiska wirtualnego w rdzeniu
- PEP 420, obsługa pakietów przestrzeni nazw
- PEP 3151, zmiana hierarchii wyjątków systemu operacyjnego i IO
- PEP 3155, kwalifikowana nazwa dla klas i funkcji
- PEP 409, pomijanie kontekstu wyjątku
- PEP 414, jawne literały Unicode ułatwiające portowanie
- PEP 418, rozszerzone niezależne od platformy zegary w "czasie" moduł
- PEP 412, nowa implementacja słownika współdzielenia klucza, która znacząco oszczędza pamięć dla kodu obiektowego
- PEP 362, obiekt sygnatury funkcji
- Nowy "faulthandler" moduł, który pomaga diagnozować awarie
- Nowe "unittest.mock" moduł
- Nowy "adres ipad" moduł
- "Sys.implementation" atrybut
- Ramy polityki dla pakietu wiadomości e-mail z tymczasową (patrz PEP 411) zasadami, które dodają znacznie ulepszoną obsługę Unicode do parsowania nagłówków e-maili
- A "collections.ChainMap & quot; klasa do powiązania odwzorowań z pojedynczą jednostką
- Owijarki dla wielu innych funkcji POSIX w "os" i "sygnał" moduły, jak również inne użyteczne funkcje, takie jak "sendfile ()"
- Randomizacja skrótu, wprowadzona we wcześniejszych wydaniach poprawkowych, jest teraz domyślnie włączona
Co nowego w wersji 3.3.0:
- PEP 380, składnia do delegowania do podzbiornika (wydajność z)
- PEP 393, elastyczna reprezentacja ciągów znaków (rezygnacja z rozróżnienia między "szerokimi" i "wąskimi" kompilacjami w standardzie Unicode)
- Implementacja C wartości "dziesiętnej". moduł, z przyspieszeniem do 120x dla aplikacji dziesiętnie ciężkich
- System importu (__import__) jest domyślnie oparty na importlib
- Nowy "lzma" moduł z obsługą LZMA / XZ
- PEP 397, program uruchamiający Python dla systemu Windows
- PEP 405, obsługa środowiska wirtualnego w rdzeniu
- PEP 420, obsługa pakietów przestrzeni nazw
- PEP 3151, zmiana hierarchii wyjątków systemu operacyjnego i IO
- PEP 3155, kwalifikowana nazwa dla klas i funkcji
- PEP 409, pomijanie kontekstu wyjątku
- PEP 414, jawne literały Unicode ułatwiające portowanie
- PEP 418, rozszerzone niezależne od platformy zegary w "czasie" moduł
- PEP 412, nowa implementacja słownika współdzielenia klucza, która znacząco oszczędza pamięć dla kodu obiektowego
- PEP 362, obiekt sygnatury funkcji
- Nowy "faulthandler" moduł, który pomaga diagnozować awarie
- Nowe "unittest.mock" moduł
- Nowy "adres ipad" moduł
- "Sys.implementation" atrybut
- Ramy polityki dla pakietu wiadomości e-mail z tymczasową (patrz PEP 411) zasadami, które dodają znacznie ulepszoną obsługę Unicode do parsowania nagłówków e-maili
- A "collections.ChainMap & quot; klasa do powiązania odwzorowań z pojedynczą jednostką
- Owijarki dla wielu innych funkcji POSIX w "os" i "sygnał" moduły, jak również inne użyteczne funkcje, takie jak "sendfile ()"
- Randomizacja skrótu, wprowadzona we wcześniejszych wydaniach poprawkowych, jest teraz domyślnie włączona
Komentarze nie znaleziono