English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Этот учебник предоставляет краткую информацию о всех ключевых словах, используемых в Python.
Ключевые слова являются сохраненными словами в Python. Мы не можем использовать их в качестве имён переменных, функций или других идентификаторов.
Это список всех ключевых слов в программировании Python
False | await | else | import | pass |
None | break | except | in | raise |
True | class | finally | is | return |
and | continue | for | lambda | try |
as | def | из | nonlocal | while |
assert | del | global | не | with |
async | elif | если | или | yield |
Эти ключевые слова могут изменяться в различных версиях Python. Могут быть добавлены дополнительные элементы или удалены некоторые из них. Вы всегда можете получить список ключевых слов текущей версии с помощью следующих методов.
>>> import keyword >>> print(keyword.kwlist) ['Ложный', 'Ничто', 'Истина', 'и', 'как', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally',', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
True и False являются истинными и ложными значениями в Python. Они являются результатом сравнения или логических (булевых) операций в Python. Например:
>>> 1 == 1 True >>> 5 > 3 True >>> True or False True >>> 10 <= 1 False >>> 3 > 7 False >>> True and False False
Здесь мы можем видеть, что первые три оператора верны, поэтому интерпретатор возвращает True, а остальные три возвращают False. True и False в Python эквивалентны 1 и 0. Это можно доказать следующим образом:
>>> True == 1 True >>> False == 0 True >>> True + True 2
None является особой константой в Python, которая представляет собой не存在的 значение или пустое значение.
Это объект данных типа NoneType, который принадлежит самому себе. Мы не можем создать несколько объектов None, но можем分配 их переменным. Эти переменные равны между собой.
Мы должны особенно внимание уделять, что None не означает False, 0 или любую пустую список, словарь, строку и т.д. Например:
>>> None == 0 False >>> None == [] False >>> None == False False >>> x = None >>> y = None >>> x == y True
Функция, не возвращающая никакого контента, автоматически возвращает объект None. Функция, в которой программа не встречает оператора return, также возвращает None. Например:
def a_void_function(): a = 1 b = 2 c = a + b x = a_void_function() print(x)
Результат вывода
None
Этот程序, несмотря на то, что выполняет某些 операции внутри, его функция не возвращает значения. Поэтому, когда мы печатаем x, мы получаем автоматический (императивный) возврат None. Также, это еще один пример:
def improper_return_function(a): if (a % 2) == 0: возврат True x = improper_return_function(3) print(x)
Результат вывода
None
Хотя в этой функции есть заявление return, но не всегда можно реализовать. Функция возвращает True только при вводе чётного числа.
Если мы передадим функции нечётное число, то она неявно вернёт None.
and, or, not являются логическими операторами Python. И результат будет True только в том случае, если оба операнда True. Таблица истинности and такова:
A | B | A and B |
---|---|---|
True | True | True |
True | False | False |
False | True | False |
False | False | False |
or возвращает True, если хотя бы один из операндов True. Таблица истинности or такова:
A | B | A or B |
---|---|---|
True | True | True |
True | False | True |
False | True | True |
False | False | False |
Оператор not используется для инверсии истинности. Таблица истинности not такова:
A | not A |
---|---|
True | False |
False | True |
Ниже приведены примеры использования.
>>> True and False False >>> True or False True >>> not False True
as используется для создания别名 при импорте модуля. Это означает, что при импорте модуля мы даём модулю другое имя (определённое пользователем).
Например, у Python есть стандартный модуль math. Предположим, что мы хотим использовать alias для вычисления косинуса pi. Мы можем сделать это следующим образом:
>>> import math as myAlias >>> myAlias.cos(myAlias.pi) -1.0
Здесь мы импортируем модуль math через имя модуля myAlias. Теперь мы можем использовать это имя для обращения к модулю. Используя это имя, мы вычислили cos(pi) и получили ответ -1.0.
assert используется для целей отладки.
В программировании иногда мы хотим узнать внутреннее состояние или проверить, правильны ли наши гипотезы. Assert помогает нам это сделать и делает обнаружение ошибок более удобным. Assert следует за условием.
Если условие истинно, то ничего не происходит. Но если условие ложно, то вызывается AssertionError. Например:
>>> a = 4 >>> assert a < 5 >>> assert a > 5 Traceback (most recent call last): File '<string>', line 301, in runcode File '<interactive input>', line 1, in <module> AssertionError
Чтобы лучше понять это, мы можем предоставить сообщение, которое будет напечатано вместе с AssertionError.
>>> a = 4 >>> assert a > 5, "Значение a слишком мало" Traceback (most recent call last): File '<string>', line 301, in runcode File '<interactive input>', line 1, in <module> AssertionError: Значение a слишком мало
На этом этапе мы можем заметить, что
assert condition, message
эквивалентно
if not condition: raise AssertionError(message)
Библиотека asyncio в Python предоставляет ключевые слова async и await. Они используются для написания асинхронного кода в Python. Например,
import asyncio async def main(): print('Hello') await asyncio.sleep(1) print('world')
Чтобы запустить эту программу, мы используем
asyncio.run(main())
В этом примере ключевое слово async указывает, что функция будет выполняться асинхронно.
Сначала здесь печатают Hello. Ключевое слово await делает программу ждать 1 секунду. Затем печатают world.
break и continue используются в циклах for и while для изменения их обычного поведения.
break заканчивает работу самого малого цикла, и поток управления напрямую переходит к следующему оператору после цикла. continue приводит к завершению текущего iteration цикла, а не всего цикла.
Это можно объяснить двумя примерами:
for i in range(1, 11): if i == 5: break print(i)
Результат вывода
1 2 3 4
Здесь цикл for предназначен для печати чисел от 1 до 10. Но если при i равен 5 выполняется условие, мы прерываем цикл. Поэтому будут напечатаны только значения от 1 до 4.
for i in range(1, 11): if i == 5: continue print(i)
Результат вывода
1 2 3 4 6 7 8 9 10
Здесь мы используем программу с continue. Поэтому, когда выполняется условие, мы пропускаем это iteration. Но мы не выходим из цикла. Поэтому будут напечатаны все значения, кроме 5.
Узнайте оPython break и Continue операторыБолее подробная информация.
class используется для определения новых пользовательских классов в Python.
Класс - это набор связанных свойств и методов, которые стремятся представить реальную ситуацию. Идея размещения данных и функций в одном классе является важной для концепции объектно-ориентированного программирования (OOP).
Класс можно определить в любом месте программы. Но хорошей привычкой является определение одной классы в модуле. Вот пример использования:
class ExampleClass: def function1(parameters): ... def function2(parameters): ...
Узнайте оPython объекты и классыБолее подробная информация.
def используется для определения пользовательских функций.
Функция - это набор связанных предложений, которые вместе выполняют определенную задачу. Она помогает нам организовать код в управляемые блоки и выполнять некоторые повторяющиеся задачи.
Использование def показано следующим образом:
def function_name(parameters): ...
Узнайте оФункции PythonБолее подробная информация.
del используется для удаления ссылок на объекты. Все в Python являются объектами. Мы можем удалить переменные, используя del по ссылке:
>>> a = b = 5 >>> del a >>> a Traceback (most recent call last): File '<string>', line 301, in runcode File '<interactive input>', line 1, in <module> NameError: name 'a' is not defined >>> b 5
Здесь мы можем видеть, что ссылка на переменную a была удалена. Таким образом, она больше не определена. Но b все еще существует.
del также используется для удаления элементов из списка или словаря:
>>> a = ['x', 'y', 'z'] >>> del a[1] >>> a ['x', 'z']
if, else, elif используются для условных分支ов или решений.
Когда мы хотим протестировать определенное условие и выполнять блок только при истинности условия, мы используем if и elif. elif является сокращением от else if. else - это блок, который выполняется при ложноcondition. Примеры помогут это понять:
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)
Результат вывода
Two Something else One
Здесь функция проверяет введенное число (если это 1 или 2), и выводит результат. В противном случае, любая введенная информация приведет к выполнению кода в разделе else.
Узнайте оPython if и if ... else предложенийБолее подробная информация.
except, raise, try используются вместе с исключениями в Python.
Исключения в основном являются ошибками, которые указывают на проблемы при выполнении нашего программного обеспечения. В нескольких примерах исключений Python IOError, ValueError, ZeroDivisionError, ImportError, NameError, TypeError и т.д. Блок try...except используется для захвата исключений в Python.
Мы можем использовать ключевое слово raise для явного вызова исключения. Вот пример:
def reciprocal(num): try: r = 1/num except: print('захват исключения') return return r print(reciprocal(10)) print(reciprocal(0))
Результат вывода
0.1 захват исключения None
Здесь функция reciprocal() возвращает обратную величину вводного числа.
При вводе 10 нормальный вывод составляет 0.1. Но при вводе 0 автоматически вызывается исключение ZeroDivisionError.
Это捕获ется нашим блоком try…except, и мы возвращаем None. Мы также можем явно вызывать ZeroDivisionError, проверяя ввод и обрабатывая его, как показано ниже:
if num == 0: raise ZeroDivisionError('cannot divide')
finally используется вместе с блоком try…except для закрытия ресурсов или потоков файлов.
Использование finally для обеспечения выполнения кода блока, даже если среди него есть необработанные исключения. Например:
try: блок try except exception1: блок Exception1 except exception2: блок Exception2 else: блок else finally: блок finally
Здесь, если в блоке try occurs исключение, его обрабатывают в блоке except или else. Но, независимо от порядка выполнения, даже если есть ошибки, мы можем безопасно выполнить блок finally. Это полезно для очистки ресурсов.
Узнайте оОбработка исключений в программировании на PythonБолее подробная информация.
for используется для циклического выполнения. Обычно мы используем for, когда знаем количество итераций.
В Python мы можем использовать его с любым типом последовательности (например, список или строку). Вот пример использования for для遍ения списка names:
names = ['John','Monica','Steven','Robin'] for i in names: print('Привет '+i)
Результат вывода
Привет, John Привет, Monica Привет, Steven Привет, Robin
Узнайте оЦикл for в PythonБолее подробная информация.
Ключевое слово import используется для импорта модулей в текущий namespace. from…import используется для импорта специфических свойств или функций в текущий namespace. Например:
import math
Теперь мы импортируем модуль math. Теперь мы можем использовать функцию cos() как math.cos(). Но если нам нужно импортировать только функцию cos(), мы можем использовать from для этого.
from math import cos
Теперь мы можем просто использовать функцию cos() без необходимости писать math.cos().
Узнайте оБолее подробная информация о Python модулях и операторе import.
global используется для объявления переменных глобальными внутри функции (вне функции).
Если вам нужно только прочитать значение глобальной переменной, вам не нужно объявлять ее как global. Это место нужно.
Если вам нужно изменить значение глобальной переменной внутри функции, вам нужно объявить ее как global. В противном случае, будет создана локальная переменная с этим именем.
Давайте рассмотрим этот пример, чтобы объяснить это.
globvar = 10 def read1(): print(globvar) def write1(): global globvar globvar = 5 def write2(): globvar = 15 read1() write1() read1() write2() read1()
Результат вывода
10 5 5
Здесь функция read1() просто читает значение globvar. Таким образом, нам не нужно объявлять его как global. Однако функция write1() изменяет значение, поэтому нам нужно объявить переменную как global.
Мы видим, что изменения были внесены (10 изменен на 5). Функция write2() также пытается изменить это значение. Но мы еще не объявили его как global.
Таким образом, globvar создает новый локальный переменную, которая не видна вне этой функции. spite того, что мы изменяем этот локальный переменную на 15, глобальная переменная остается неизменной. Это ясно видно в наших выводах.
Проверка наличия значения в последовательности (список, кортеж, строка и т.д.). Если значение существует, он возвращает True, в противном случае False. Например:
>>> a = [1, 2, 3, 4, 5] >>> 5 in a True >>> 10 in a False
Вторичное использование 'in' - это итерация по последовательностям в цикле for.
for i in 'hello': print(i)
Результат вывода
h e l l o
is используется в Python для тестирования идентичности объектов. Оператор == используется для тестирования равенства двух переменных, а оператор is используется для тестирования того, указывают ли две переменные на один и тот же объект.
Возвращает True, если объекты идентичны, в противном случае возвращает False.
>>> True is True True >>> False is False True >>> None is None True
Мы знаем, что в Python существует только один экземпляр True, False и None, поэтому они равны.
>>> [] == [] True >>> [] is [] False >>> {} == {} True >>> {} is {} False
Пустой список или словарь равен пустому списку или словарю. Но они не являются одинаковыми объектами, так как они находятся в отдельной памяти. Это связано с тем, что списки и словари являются изменяемыми (их значения можно изменить).
>>> '' == '' True >>> '' is '' True >>> () == () True >>> () is () True
В отличие от списков и словарей, строки и кортежи являются неизменными (их значения нельзя изменить после их определения). Поэтому равные строки или кортежи также равны. Ониreferencen к одному и тому же хранилищу.
Lambda используется для создания анонимных функций (функций без имени). Это вписанные функции, которые не содержат оператора return. Они состоят из выражения, которое оценивается и возвращает результат. Например:
a = lambda x: x*2 for i in range(1, 6): print(a(i))
Результат вывода
2 4 6 8 10
Здесь мы создали внутреннюю функцию, используя оператор lambda для удвоения значений. Мы используем её для удвоения значений в списке от 1 до 5.
Узнайте оФункции lamda PythonБолее подробная информация.
Использование ключевого слова nonlocal очень схоже с ключевым словом global. Nonlocal используется для объявления переменных в внутренних функциях (функциях, находящихся внутри функции), которые не являются локальными переменными, что означает, что они расположены во внешней заключённой функции. Если нужно изменить значение не локальной переменной в вложенной функции, то её необходимо объявить с помощью ключевого слова nonlocal. В противном случае, в вложенной функции будет создана локальная переменная с таким же именем. Следующий пример поможет вам понять это.
def outer_function(): a = 5 def inner_function(): nonlocal a a = 10 print("Внутренняя функция: ", a) inner_function() print("Внешняя функция: ", a) outer_function()
Результат вывода
Внутренняя функция: 10 Outer function: 10
Здесь функция inner_function() вложена в функцию outer_function.
Переменная a находится в функции outer_function(). Поэтому, если нужно изменить a в функции inner_function(), то её необходимо объявить как nonlocal. Обратите внимание, что это не глобальная переменная.
Таким образом, мы видим из вывода, что переменная успешно изменена внутри вложенной функции inner_function(). Результат без использования ключевого слова nonlocal:}
def outer_function(): a = 5 def inner_function(): a = 10 print("Внутренняя функция: ", a) inner_function() print("Внешняя функция: ", a) outer_function()
Результат вывода
Внутренняя функция: 10 Внешняя функция: 5
В этом примере мы не декларируем переменную a в嵌енной функции как не местную. Поэтому будет создана новая локальная переменная с тем же именем, но она не изменит переменную a, как показано в нашем выводе.
pass - это пустая команда в Python. При выполнении не происходит ничего. Она используется в качестве占位щика.
Предположим, что у нас есть функция, которую мы еще не реализовали, но хотим реализовать в будущем. Примерно так:
def function(args):
В середине программы у нас будет IndentationError. Вместо этого мы используем оператор pass для создания пустого тела.
def function(args): pass
Мы также можем сделать то же самое с пустым классом.
class example: pass
Оператор return используется в функции для выхода и возврата значения.
Если мы не явно возвращаем значение, то автоматически возвращается None. Ниже приведен пример, подтверждающий это.
def func_return(): a = 10 return a def no_return(): a = 10 print(func_return()) print(no_return())
Результат вывода
10 None
while используется для циклов в Python.
Цикл while продолжает выполняться в цикле while, пока оценка условия цикла не станет False или не встретится оператор break. Ниже приведен пример программы, поясняющий это.
i = 5 while(i): print(i) i = i - 1
Результат вывода
5 4 3 2 1
Обратите внимание, что 0 равно False.
Узнайте оPython while-циклБолее подробная информация.
Оператор with используется для 包装 выполнения кода в методах управляющего контекста.
Управляющий контекстом - это класс, реализующий методы __enter__ и __exit__. Использование с помощью оператора ensures, что __exit__ вызывается в конце вложенного блока. Этот концепция аналогична использованию оператора try...finally. Вот пример.
with open('example.txt', 'w') as my_file: my_file.write('Hello world!')
Этот пример записывает текст Hello world! в файл example.txt. Объект файла определяет методы __enter__ и __exit__, поэтому они действуют как свои собственные контекстные менеджеры.
Сначала вызывается метод __enter__, затем выполняется код в блоке with, и в конце вызывается метод __exit__. Метод __exit__ вызывается даже при возникновении ошибки. Он в основном закрывает поток файлов.
yield используется в функции, как return-оператор. Но yield возвращает генератор.
Генераторы - это итераторы, которые генерируют один элемент за раз. Множество значений займет много памяти. Генераторы очень полезны в этом случае, так как они генерируют один элемент за раз, а не хранят все значения в памяти. Например:
>>> g = (2**x for x in range(100))
Будет создан генератор g, который генерирует степень 2 до 99. Мы можем использовать функцию next() для генерации этих чисел, как показано ниже.
>>> next(g) 1 >>> next(g) 2 >>> next(g) 4 >>> next(g) 8 >>> next(g) 16
Так далее...Этот тип генератора возвращается语句ми функции yield. Это пример.
def generator(): for i in range(6): yield i*i g = generator() for i in g: print(i)
Результат вывода
0 1 4 9 16 25
Здесь функция generator() возвращает генератор, который генерирует квадраты чисел от 0 до 5. Его можно распечатать в цикле for.