Słowa kluczowe to zarezerwowane słowa w Pythonie. Nie możemy użyć słowa kluczowego jako nazwy zmiennej, nazwy funkcji ani żadnego innego identyfikatora.

Tutaj jest lista wszystkich słów kluczowych w języku programowania Python

.

.

Słowa kluczowe w języku programowania Python
False await else import pass
Nonone break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield

Powyższe słowa kluczowe mogą ulec zmianie w różnych wersjach Pythona. Niektóre dodatkowe mogą zostać dodane lub niektóre mogą zostać usunięte. Listę słów kluczowych w bieżącej wersji można zawsze uzyskać, wpisując następujące polecenie w znaku zachęty.

>>> import keyword>>> print(keyword.kwlist)

Opis słów kluczowych w Pythonie z przykładami

True, False

True i False są wartościami prawdy w Pythonie. Są one wynikami operacji porównania lub operacji logicznych (Boolean) w języku Python. Na przykład:

>>> 1 == 1True>>> 5 > 3True>>> True or FalseTrue>>> 10 <= 1False>>> 3 > 7False>>> True and FalseFalse

Widzimy, że pierwsze trzy stwierdzenia są prawdziwe, więc interpreter zwraca True i zwraca False dla pozostałych trzech stwierdzeń. True i False w pythonie jest takie samo jak 1 i 0. Można to uzasadnić na następującym przykładzie:

>>> True == 1True>>> False == 0True>>> True + True2

None

Nonejest specjalną stałą w Pythonie, która reprezentuje brak wartości lub wartość null.

Jest to obiekt własnego datatypu, czyli NoneType. Nie możemy tworzyć wielu obiektów None, ale możemy przypisać go do zmiennych. Zmienne te będą sobie równe.

Musimy zwrócić szczególną uwagę na to, że None nie implikuje False, 0 ani żadnej pustej listy, słownika, łańcucha itp. Na przykład:

>>> None == 0False>>> None == False>>> None == FalseFalse>>> x = None>>> y = None>>> x == yTrue

Funkcje puste, które nie zwracają niczego, automatycznie zwrócą obiekt None. Obiekt None jest również zwracany przez funkcje, w których przepływ programu nie napotyka na instrukcję return. Na przykład:

def a_void_function(): a = 1 b = 2 c = a + bx = a_void_function()print(x)

Output

None

Ten program ma funkcję, która nie zwraca wartości, chociaż wykonuje pewne operacje wewnątrz. Więc kiedy wydrukujemy x, otrzymamy None, które jest zwracane automatycznie (implicitly). Podobnie, oto inny przykład:

def improper_return_function(a): if (a % 2) == 0: return Truex = improper_return_function(3)print(x)

Output

None

Ale chociaż ta funkcja ma deklarację return, nie jest ona osiągana w każdym przypadku. Funkcja zwróci True tylko wtedy, gdy dane wejściowe są parzyste.

Jeśli podamy funkcji liczbę nieparzystą, None zostanie zwrócone niejawnie.

and, or , not

and, or, not są operatorami logicznymi w Pythonie. and będzie skutkować True tylko wtedy, gdy oba operandy są True. Tablica prawdy dla and jest podana poniżej:

.

.

Tablica prawdy dla and
A B A i B
Prawda Prawda Prawda
Prawda Fałsz Fałszywy
Fałszywy Prawda Fałszywy
Fałszywy Fałsz Fałsz

or da w wyniku True, jeśli którykolwiek z operandów jest True. Tablica prawdy dla or jest podana poniżej:

.

Tablica prawdy dla or
A B A lub B
Prawda Prawda Prawda
Prawda Fałsz True
False True
False False False

not operator służy do odwrócenia wartości prawdy. Tablica prawdy dla not jest podana poniżej:

.

Tablica prawdy dla not
A nie A
True False
False
False True

przykłady ich użycia są podane poniżej

>>> True and FalseFalse>>> True or FalseTrue>>> not FalseTrue

as

asjest używany do tworzenia aliasów podczas importowania modułu. Oznacza to nadanie innej nazwy (zdefiniowanej przez użytkownika) modułowi podczas importowania go.

Jak na przykład, Python ma standardowy moduł o nazwie math. Załóżmy, że chcemy obliczyć, jaki jest cosinus pi, używając aliasu. Możemy to zrobić w następujący sposób, używając as:

>>> import math as myAlias>>>myAlias.cos(myAlias.pi)-1.0

W tym miejscu zaimportowaliśmy moduł math, nadając mu nazwę myAlias. Teraz możemy odwoływać się do modułu math o tej nazwie. Używając tej nazwy obliczyliśmy cos(pi) i otrzymaliśmy -1.0 jako odpowiedź.

assert

assertjest używany do celów debugowania.

Podczas programowania czasami chcemy poznać stan wewnętrzny lub sprawdzić, czy nasze założenia są prawdziwe. assert pomaga nam to zrobić i wygodniej znaleźć błędy. Po assert następuje warunek.

Jeśli warunek jest prawdziwy, nic się nie dzieje. Ale jeśli warunek jest fałszywy, zostanie podniesiony AssertionError. Na przykład:

>>> a = 4>>> assert a < 5>>> assert a > 5Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>AssertionError

Dla naszego lepszego zrozumienia, możemy również podać komunikat, który zostanie wydrukowany wraz z AssertionError.

>>> a = 4>>> assert a > 5, "The value of a is too small"Traceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>AssertionError: The value of a is too small

W tym momencie możemy zauważyć, że,

assert condition, message

jest równoważne,

if not condition: raise AssertionError(message)

async, await

Słowa kluczowe async i await są dostarczane przez bibliotekę asyncio w Pythonie. Służą one do pisania współbieżnego kodu w Pythonie. Na przykład,

import asyncioasync def main(): print('Hello') await asyncio.sleep(1) print('world')

Aby uruchomić program, używamy

asyncio.run(main())

W powyższym programie słowo kluczowe async określa, że funkcja będzie wykonywana asynchronicznie.

Tutaj wypisywane jest pierwsze Hello. Słowo kluczowe await powoduje, że program czeka przez 1 sekundę. A następnie wypisywany jest świat.

break, continue

break i continue są używane wewnątrz pętli for i while, aby zmienić ich normalne zachowanie.

break zakończy najmniejszą pętlę, w której się znajduje, a sterowanie przepłynie do instrukcji znajdującej się bezpośrednio pod pętlą. continue powoduje zakończenie bieżącej iteracji pętli, ale nie całej pętli.

Zjawisko to można zilustrować następującymi dwoma przykładami:

for i in range(1,11): if i == 5: break print(i)

Wyjście

1234

Tutaj pętla for zamierza wypisać liczby od 1 do 10. Ale warunek if jest spełniony, gdy i jest równe 5 i wyłamujemy się z pętli. Tak więc, tylko zakres od 1 do 4 jest drukowany.

for i in range(1,11): if i == 5: continue print(i)

Wyjście

1234678910

Tutaj używamy continue do tego samego programu. Tak więc, gdy warunek jest spełniony, ta iteracja jest pomijana. Ale nie wychodzimy z pętli. Stąd wypisywane są wszystkie wartości oprócz 5.

Dowiedz się więcej o Pythonie break i continue statement.

class

class służy do definiowania nowej klasy zdefiniowanej przez użytkownika w Pythonie.

Klasa jest zbiorem powiązanych atrybutów i metod, które próbują reprezentować sytuację w świecie rzeczywistym. Ta idea łączenia danych i funkcji w klasy jest kluczowa dla koncepcji programowania zorientowanego obiektowo (OOP).

Klasy można definiować w dowolnym miejscu programu. Ale dobrą praktyką jest definiowanie pojedynczej klasy w module. Poniżej przedstawiono przykładowe użycie:

class ExampleClass: def function1(parameters): … def function2(parameters): …

Dowiedz się więcej o obiektach i klasach Pythona.

def

defjest używany do definiowania funkcji zdefiniowanej przez użytkownika.

Funkcja jest blokiem powiązanych ze sobą instrukcji, które razem wykonują jakieś konkretne zadanie. Pomaga nam organizować kod w łatwe do zarządzania kawałki, a także wykonywać pewne powtarzalne zadania.

Użycie def jest pokazane poniżej:

def function_name(parameters): …

Dowiedz się więcej o funkcjach Pythona.

del

deljest używany do usuwania odniesienia do obiektu. W języku Python wszystko jest obiektem. Możemy usunąć odwołanie do zmiennej za pomocą del

>>> a = b = 5>>> del a>>> aTraceback (most recent call last): File "<string>", line 301, in runcode File "<interactive input>", line 1, in <module>NameError: name 'a' is not defined>>> b5

Tutaj widzimy, że odwołanie do zmiennej a zostało usunięte. Tak więc, nie jest ona już zdefiniowana. Ale b nadal istnieje.

deljest również używany do usuwania elementów z listy lub słownika:

>>> a = >>> del a>>> a

if, else, elif

if, else, elifsą używane do warunkowego rozgałęziania lub podejmowania decyzji.

Gdy chcemy przetestować jakiś warunek i wykonać blok tylko wtedy, gdy warunek jest prawdziwy, wtedy używamy if i elif. elif jest skrótem od else if. else jest blokiem, który jest wykonywany, jeżeli warunek jest fałszywy. Będzie to jasne na następującym przykładzie:

def if_example(a): if a == 1: print('One') elif a == 2: print('Two') else: print('Something else')if_example(2)if_example(4)if_example(1)

Wyjście

TwoSomething elseOne

Tutaj funkcja sprawdza liczbę wejściową i wypisuje wynik, jeśli jest to 1 lub 2. Każde wejście inne niż to spowoduje wykonanie elseczęści kodu.

Dowiedz się więcej o Pythonie if i if…else Statement.

except, raise, try

except, raise, try są używane z wyjątkami w Pythonie.

Wyjątki są w zasadzie błędami, które sugerują, że coś poszło nie tak podczas wykonywania naszego programu. IOError, ValueError, ZeroDivisionError, ImportError, NameError, TypeError itp. to kilka przykładów wyjątków w Pythonie. Bloki try...except są używane do wyłapywania wyjątków w Pythonie.

Możemy zgłosić wyjątek jawnie za pomocą słowa kluczowego raise. Poniżej znajduje się przykład:

def reciprocal(num): try: r = 1/num except: print('Exception caught') return return rprint(reciprocal(10))print(reciprocal(0))

Wyjście

0.1Exception caughtNone

Tutaj funkcja reciprocal() zwraca odwrotność liczby wejściowej.

Gdy wprowadzimy 10, otrzymamy normalne wyjście 0,1. Ale kiedy wprowadzamy 0, automatycznie pojawia się ZeroDivisionError.

Jest to wychwytywane przez nasz blok try…except i zwracamy None. Mogliśmy również podnieść ZeroDivisionError jawnie, sprawdzając dane wejściowe i obsłużyć je gdzie indziej, jak poniżej:

if num == 0: raise ZeroDivisionError('cannot divide')

finally

finally jest używany z blokiem try…except do zamykania zasobów lub strumieni plików.

Użycie finally zapewnia, że blok kodu wewnątrz niego zostanie wykonany, nawet jeśli wystąpi nie obsłużony wyjątek. Na przykład:

try: Try-blockexcept exception1: Exception1-blockexcept exception2: Exception2-blockelse: Else-blockfinally: Finally-block

Tutaj, jeśli w bloku Try-block wystąpi wyjątek, zostanie on obsłużony w bloku except lub else. Niezależnie jednak od tego, w jakiej kolejności przepływa wykonanie, możemy być pewni, że blok Finally-block zostanie wykonany nawet w przypadku wystąpienia błędu. Jest to przydatne przy czyszczeniu zasobów.

Dowiedz się więcej o obsłudze wyjątków w programowaniu w Pythonie.

for

for służy do tworzenia pętli. Generalnie używamy for, gdy znamy liczbę powtórzeń, które chcemy zapętlić.

W Pythonie możemy go używać z dowolnymi typami sekwencji, takimi jak lista czy łańcuch. Oto przykład, w którym for jest używane do przechodzenia przez listę nazw:

names = for i in names: print('Hello '+i)

Wyjście

Hello JohnHello MonicaHello StevenHello Robin

Dowiedz się więcej o Pythonie dla pętli.

from, import

importsłowo kluczowe jest używane do importowania modułów do bieżącej przestrzeni nazw. from…import jest używane do importowania określonych atrybutów lub funkcji do bieżącej przestrzeni nazw. Na przykład:

import math

zaimportuje moduł math. Teraz możemy użyć funkcji cos() wewnątrz niego jako math.cos(). Ale jeśli chcemy zaimportować tylko funkcję cos(), można to zrobić za pomocą from as

from math import cos

teraz możemy używać funkcji po prostu jako cos(), nie trzeba pisać math.cos().

Dowiedz się więcej o modułach Pythona i instrukcji importu.

global

globaljest używany do zadeklarowania, że zmienna wewnątrz funkcji jest globalna (poza funkcją).

Jeśli potrzebujemy odczytać wartość zmiennej globalnej, nie jest konieczne definiowanie jej jako global. Jest to zrozumiałe.

Jeśli potrzebujemy zmodyfikować wartość zmiennej globalnej wewnątrz funkcji, to musimy ją zadeklarować z global. W przeciwnym razie tworzona jest zmienna lokalna o tej nazwie.

Następujący przykład pomoże nam to wyjaśnić.

globvar = 10def read1(): print(globvar)def write1(): global globvar globvar = 5def write2(): globvar = 15read1()write1()read1()write2()read1()

Wyjście

1055

Tutaj funkcja read1() tylko odczytuje wartość globvar. Nie musimy więc deklarować jej jako global. Ale funkcja write1() modyfikuje wartość, więc musimy zadeklarować zmienną jako global.

W naszym wyjściu widzimy, że modyfikacja miała miejsce (10 zostało zmienione na 5). Zmienna write2() również próbuje zmodyfikować tę wartość. Ale nie zadeklarowaliśmy jej jako global.

Stąd powstaje nowa zmienna lokalna globvar, która nie jest widoczna poza tą funkcją. Mimo że modyfikujemy tę zmienną lokalną do 15, zmienna globalna pozostaje niezmieniona. Jest to wyraźnie widoczne na naszym wyjściu.

w

in służy do testowania, czy sekwencja (lista, tuple, string itp.) zawiera wartość. Zwraca True jeśli wartość jest obecna, w przeciwnym razie zwraca False. Na przykład:

>>> a = >>> 5 in aTrue>>> 10 in aFalse

Podstawowym zastosowaniem operatora in jest przemierzanie sekwencji w pętli for.

for i in 'hello': print(i)

Output

hello

is

is jest używany w Pythonie do testowania tożsamości obiektów. Podczas gdy operator == jest używany do testowania, czy dwie zmienne są równe czy nie, is jest używany do testowania, czy dwie zmienne odnoszą się do tego samego obiektu.

Zwraca True, jeśli obiekty są identyczne i False, jeśli nie.

>>> True is TrueTrue>>> False is FalseTrue>>> None is NoneTrue

Wiemy, że w Pythonie istnieje tylko jedna instancja True, False i None, więc są one identyczne.

>>> == True>>> is False>>> {} == {}True>>> {} is {}False

Pusta lista lub słownik są równe innej pustej liście lub słownikowi. Ale nie są to identyczne obiekty, ponieważ są one zlokalizowane osobno w pamięci. Dzieje się tak dlatego, że lista i słownik są mutowalne (wartość może być zmieniona).

>>> '' == ''True>>> '' is ''True>>> () == ()True>>> () is ()True

W przeciwieństwie do listy i słownika, string i tuple są immutable (wartość nie może być zmieniona raz zdefiniowana). Stąd, dwa równe string lub tuple są również identyczne. Odnoszą się one do tego samego miejsca w pamięci.

lambda

lambda służy do tworzenia funkcji anonimowej (funkcja bez nazwy). Jest to funkcja inline, która nie zawiera instrukcji return. Składa się z wyrażenia, które jest obliczane i zwracane. Na przykład:

a = lambda x: x*2for i in range(1,6): print(a(i))

Output

246810

Tutaj, stworzyliśmy funkcję inline, która podwaja wartość, używając instrukcji lambda. Użyliśmy tego do podwojenia wartości na liście zawierającej od 1 do 5.

Dowiedz się więcej o funkcjach lamda w Pythonie.

nonlocal

Użycie słowa kluczowego nonlocal jest bardzo podobne do słowa kluczowego global. nonlocal służy do zadeklarowania, że zmienna wewnątrz funkcji zagnieżdżonej (funkcja wewnątrz funkcji) nie jest dla niej lokalna, czyli leży w zewnętrznej funkcji dołączającej. Jeśli potrzebujemy zmodyfikować wartość zmiennej nielokalnej wewnątrz funkcji zagnieżdżonej, to musimy ją zadeklarować za pomocą nonlocal. W przeciwnym razie wewnątrz funkcji zagnieżdżonej zostanie utworzona zmienna lokalna o tej nazwie. Poniższy przykład pomoże nam to wyjaśnić.

def outer_function(): a = 5 def inner_function(): nonlocal a a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a)outer_function()

Output

Inner function: 10Outer function: 10

Tutaj, inner_function() jest zagnieżdżone wewnątrz outer_function.

Zmienna a znajduje się w outer_function(). Jeśli więc chcemy ją zmodyfikować w inner_function(), musimy ją zadeklarować jako nonlocal. Zauważ, że a nie jest zmienną globalną.

Więc, widzimy na wyjściu, że zmienna została pomyślnie zmodyfikowana wewnątrz zagnieżdżonego inner_function(). Wynik nieużycia słowa kluczowego nonlocal jest następujący:

def outer_function(): a = 5 def inner_function(): a = 10 print("Inner function: ",a) inner_function() print("Outer function: ",a)outer_function()

Wyjście

Inner function: 10Outer function: 5

Tutaj nie deklarujemy, że zmienna a wewnątrz zagnieżdżonej funkcji jest nonlocal. W związku z tym tworzona jest nowa zmienna lokalna o tej samej nazwie, ale nielokalna a nie jest modyfikowana, co widać na naszym wyjściu.

pass

passjest deklaracją null w Pythonie. Nic się nie dzieje po jego wykonaniu. Jest ona używana jako placeholder.

Załóżmy, że mamy funkcję, która nie jest jeszcze zaimplementowana, ale chcemy ją zaimplementować w przyszłości. Zwykłe napisanie,

def function(args):

w środku programu da nam IndentationError. Zamiast tego, konstruujemy puste ciało za pomocą instrukcji pass.

def function(args): pass

To samo możemy zrobić również w pustym class.

class example: pass

return

returnKonstrukcja return

returnjest używana wewnątrz funkcji w celu wyjścia z niej i zwrócenia wartości.

Jeśli nie zwrócimy wartości jawnie, None jest zwracane automatycznie. Można to sprawdzić na następującym przykładzie.

def func_return(): a = 10 return adef no_return(): a = 10print(func_return())print(no_return())

Output

10None

while

whilejest używane do tworzenia pętli w Pythonie.

Przekazy wewnątrz pętli while są wykonywane do momentu, gdy warunek dla pętli while zostanie oceniony na False lub napotkana zostanie instrukcja break. Poniższy program to ilustruje.

i = 5while(i): print(i) i = i – 1

Wyjście

54321

Zauważ, że 0 jest równe False.

Dowiedz się więcej o pętli while w Pythonie.

with

with instrukcja służy do zawijania wykonania bloku kodu wewnątrz metod zdefiniowanych przez menedżera kontekstu.

Menedżer kontekstu jest klasą, która implementuje metody __enter__ i __exit__. Użycie instrukcji with zapewnia, że metoda __exit__ jest wywoływana na końcu zagnieżdżonego bloku. Koncepcja ta jest podobna do użycia bloku try…finally. Oto przykład.

with open('example.txt', 'w') as my_file: my_file.write('Hello world!')

Ten przykład zapisuje tekst Hello world! do pliku example.txt. Obiekty File mają zdefiniowane w sobie metody __enter__ i __exit__, więc działają jak własny menedżer kontekstu.

Najpierw wywoływana jest metoda __enter__, następnie wykonywany jest kod wewnątrz instrukcji with, a na końcu wywoływana jest metoda __exit__. Metoda __exit__ jest wywoływana nawet w przypadku wystąpienia błędu. Zasadniczo zamyka ona strumień plików.

yield

yield jest używane wewnątrz funkcji jak instrukcja return. Ale yield zwraca generator.

Generator jest iteratorem, który generuje jeden element na raz. Duża lista wartości będzie zajmować dużo pamięci. Generatory są przydatne w tej sytuacji, ponieważ generują tylko jedną wartość na raz, zamiast przechowywać wszystkie wartości w pamięci. Na przykład,

>>> g = (2**x for x in range(100))

utworzy generator g, który generuje potęgi 2 aż do liczby dwa podniesionej do potęgi 99. Liczby te możemy wygenerować za pomocą funkcji next(), jak pokazano poniżej.

>>> next(g)1>>> next(g)2>>> next(g)4>>> next(g)8>>> next(g)16

I tak dalej… Ten typ generatora jest zwracany przez instrukcję yield z funkcji. Oto przykład.

def generator(): for i in range(6): yield i*ig = generator()for i in g: print(i)

Output

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.