Основы синтаксиса языка python
- Основные типы данных
- Контейнеры
- Управляющие конструкции
- Функции
- Работа с файлами
- Оператор map и list/set/dict comprehension
- Множественное присваивание и распаковка
- Вместо резюме
- Источники
Язык python прост в изучении, хорошо документирован и очень популярен. Ответы на большинство вопросов касающихся python могут быть найдены с помощью поисковых запросов в вашей любимой поисковой системе.
Этот раздел представляет собой набор примеров, которые показывают основные средства языка python.
Основные типы данных
Встроенные типы являются сильной стороной языка python. Они очень удобны в использовании и предоставляют множество встроенных методов.
Арифметические типы
В python есть три арифметических типа: int
, float
и complex
:
a = 4 type(a) # int b = 4. type(b) # float c = 5 + 6 * (2**5) / 7 # float 32.42857142857143 d = 5 + 6 * (2**5) // 7 # int 32 e = 2 + 3j type(e) # complex type(e.real) # float e.conjugate() # (2-3j)
Тип int
обладает произвольной точностью:
print(2**256) # 115792089237316195423570985008687907853269984665640564039457584007913129639936
Тип float
на большинстве платформ имеет размер 64 бита.
Логический тип и объект None
Логический тип bool
представлен значениями True
и False
. Логические выражение можно составлять с помощью операторов and
, or
и not
:
True or False # True 2 < 3 and 3 < 5 # True 2 < 3 and not 5 < 3 # True 2 == 2 # True 3 != 2 # True a = True a is True # True
В последнем примере использован оператор is
, который проверяет идентичность объектов, т.е. ссылаются ли объекты на одну и ту же область памяти.
is
не проверяет равенство:a = 3.1415 b = 3.1415 a == b # True a is b # False
Объект None
обозначает отсутствие значения и может использоваться в логических выражениях:
None == None # True None is None # True not None # True bool(None) # False
Строки
Строки в python представлены типом str
s = 'Hello' type(s) # str
Длину строки можно получить с помощью встроенной функции len
len(s) # 5
Конкатенация строк выполняется с помощью оператора сложения
'Hello, ' + 'world!'
Тип str
имеет большое количество встроенных методов. Вот некоторые примеры:
'Hello'.beginswith('Hel') # True 'Hello'.endswith('llo') # True '123'.isdigit() # True '123.12'.isdigit() # False 'abs1'.isalpha() # False 'abs'.isalpha() # True ' 123 '.strip() # '123' ' 123 456 789 '.strip().split() # ['123', '456', '789'] '/'.join(['/home', 'vitaly', 'python_lecture.ipynb']) # /home/vitaly/python_lecture.ipynb
Выполнить поиск по строке можно с помощью оператора in
и метода find
:
'll' in 'Hello' # True 'Hello'.find('ll') # 2
Со строкой можно работать как с массивом символов. Обращение по индексу и выбор диапазона элементов массива в python выполняется весьма удобно:
a = 'apple' a[1] # 'p' a[0:3] # 'app' a[:3] # 'app' a[-1] # 'e' a[-3:] # 'ple' sorted(a) # ['a', 'e', 'l', 'p', 'p']
В последнем примере мы воспользовались встроенной функцией sorted
Преобразование строки в арифметические типы выполняется очевидным образом:
int('123') float('123.45') complex('123+45j')
Контейнеры
Язык python содержит четыре встроенных контейнера:
list
— списокtuple
— кортежset
— множествоdict
— словарь
Все эти типы весьма удобны в использовании. Рассмотрим примеры работы с каждым из них.
Тип list
Создадим list:
l1 = [1, 2, 3] l2 = [1, '2', 3+4j]
Второй пример показывает, что в одном объекте list
могут храниться объекты разных типов. Многомерные списки реализуются с помощью вложенных списков. Вот пример двумерного списка (список списков):
l2d = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]
Объекты
— изменяемые (в отличие от str
и tuple
):
lst = [] lst.append(1) # [1] lst += [5, 6, 5] # [1, 5, 6, 5] lst.remove(5) # [1, 6, 5] lst
Поиск элемента в списке:
l = [43, 55, 98] 55 in l # True 12 in l # False
Обращение к элементам списка по индексу:
arr = list(range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] arr[3] # 3 arr[-3] # третий элемент с конца: 7 arr[2:6] # диапазон со второго по шестой: [2, 3, 4, 5] arr[:4] # диапазон от начала до четвертого: [0, 1, 2, 3] arr[-4:] # диапазон от четвертого с конца до конца: [6, 7, 8, 9] arr[1:6:2] # диапазон от первого до шестого с шагом 2: [1, 3, 5] arr[::3] # каждый третий элемент: [0, 3, 6, 9] arr[::-3] # каждый третий элемент, начиная с конца: [9, 6, 3, 0] arr[::-1] # все элементы списка в обратном порядке
Эти примеры демонстрируют гибкость индексирования в python.
После некоторой практики индексирование становится очень простым и удобным инструментом.Встроенная функция sorted
позволяет получить копию списка, содержащую отсортированные элементы. Метод sort
выполняет сортировку исходного списка:
a = [3, 2, 5, 6, 1] sorted(a) # [1, 2, 3, 5, 6] print(a) # [3, 2, 5, 6, 1] a.sort() # сортируем список in place print(a) # [1, 2, 3, 5, 6]
Тип tuple
Тип tuple
позволяет создавать неизменяемые кортежи объектов:
t = ('Mark', 31, 4.87) type(t) # tuple
Работать с кортежами можно также как со списками, учитывая, что кортежи неизменяемые. В частности, для них не определен метод append
. При необходимости изменить кортеж придется создать новый объект.
Кортежи используются в случаях, когда структура данных известна заранее. Часто функции возвращают кортеж объектов.
Неизменяемость кортежей обеспечивает ряд преимуществ по сравнению со списками:
- Кортежи создаются быстрее, чем списки
- Кортежи занимают меньше памяти, чем списки
- Кортежи можно использовать в качестве ключей
set
иmap
, а списки нельзя
Тип set
Ассоциативный контейнер set
позволяет работать со множеством уникальных объектов. Контейнер реализован в виде хэш-таблицы и обеспечивает добавление, удаление и поиск элементов за константное время:
s = {1, 5, 2, 3, 5, 4, 1, 'hjk'} s.add(987) 9 in s # False
Тип set
поддерживает основные операции со множествами:
a = {1,2,3} b = {2,3,4} b-a # {4} a & b # {2, 3} a | b # {1, 2, 3, 4}
Тип dict
Ассоциативный контейнер dict
хранит пары ключ-значение. Как и set
, dict
реализован в виде хэш-таблицы и выполняет операции добавления, поиска и удаления объектов за константное время:
a = {'key1': 'val1', 'key2': 'val2'} a['key1'] # 'val1' a[(1,4)] = 'typle val' # добавляем новый ключ и новое значение a['missing_key'] # такого ключа нет, поэтому будет сгенерировано # исключение IndexError a.get('missing_key', None) # Запросили значение для ключа # 'missing_key'. Если ключ не будет найдет, # то вернется None a. update({ # добавляем сразу несколько ключей и значений 'key3': 'val3, 'key4': 'val4, }) 'key3' in a # True
Управляющие конструкции
Оператор if-elif-else
:
a = 2 if a > 5: print('> 5') elif a == 5: print('5') elif a < 5: print('< 5') else: print('How we get here?')
Цикл for
for i in [0, 1, 2, 3, 4, 5]: print(str(i)*i, end='-') # -1-22-333-4444-55555- for ch in 'Hello': print(ch, end=' ') # H e l l o for i in range(2,10,2): print(i**2, end = ' ') # 4 16 36 64 for i in range(9): if i % 2: continue print(str(i)*i, end=' ') # 22 4444 666666 88888888
Цикл while
a, b = 1, 4 while a < b: a += 2 b += 1 if b == 10: break
Функции
Определить функцию можно с помощью ключевого слова def
:
def solve(k, b): """ Solves equation k*x + b = 0 """ return -b / k solve(1, -2) # 2. 0
К коментарию функции можно обратиться через метод __doc__
:
solve.__doc__ # ' Solves equation k*x + b = 0 '
Лямбда-функции
В python очень часто используют лямбда-функции — анонимные функции, которые могут содержать только одно выражение. С помощью лямбда-функций можно управлять поведением функции sorted
:
a = [3, 2, 5, 6, 1] sorted(a) # [1, 2, 3, 5, 6] sorted(a, key=lambda x: (x - 3)**2) # [3, 2, 5, 1, 6]
При сортировке во втором случае сравнивались не сами элементы массива, а их значения, преобразованные с помощью лямбда-функции. Мы еще не раз будем использовать лямбда-функции в различных ситуациях.
Встроенные функции
В python определены некоторые встроенные функции. Встроенные функции len
, range
и sorted
мы уже встречали. Функцией print
, которая передает данные в стандартный поток вывода, мы начали пользоваться без особых пояснений. Вот несколько примеров использования других функций:
abs(-4. 1 + 2.1j) # возвращает модуль числа: 4.606... sum([1, 3, 5, 7]) # (16) возвращает сумму элементов all([True, True, False]) # (False) возвращает True, если все элементы равны True any([True, True, False]) # (True) возвращает True, если хотя бы один элемент равен True callable('a') # (False) возвращает True, если объект является вызываемым callable(lambda x: x**2) # True isinstance(1, int) # (True) проверяет является ли объект экземпляром класса round(3.141592653589793, 4) # 3.1416
Функции enumerate
, reversed
и zip
весьма полезны при работе с циклами:
arr = ['a', 'b', 'c'] for idx, item in enumerate(arr): print(f'{idx}: {item},'), end=' ') # Выведет: # 0: a, 1: b, 2: c for item in reversed(arr): print(item, end=', ') # Выведет: # c, b, a arr2 = ['d', 'e', 'f'] for it1, it2 in zip(arr, arr2): # идем синхронно по двум спискам print(f'{it1}{it2}', end=' ') # Выведет: # ad be cf
Форматированные строки (f-строки), использованные в последних примерах, будут подробно рассмотрены в другом разделе.
Функция input
позволяет получать данные из стандартного потока ввода:
s1 = input() s2 = int(input('Enter an integer number: ')) # Переданная строка будет выведена в поток вывода
Аргументы функции
В python очень гибкая система объявления и передачи аргументов функций. Рассмотрим различные примеры. Определим функцию, принимающую два аргумента и возвращающую разность их значений:
def f1(a, b): return a - b
Вот эквивалентные способы вызова этой функции:
f1(1, 2) # -1 — позиционные аргументы f1(a=1, b=2) # -1 — именованные аргументы # не имеет значения порядок передачи именованных аргументов f1(b=2, a=1) # -1 args = [1, 2] # список аргументов для передачи в функцию f1(*args) # -1 # словарь, ключи которого соответствуют именам аргументов функции kwargs = {a: 1, b: 2} f1(**kwargs) # -1
Можно задать значение аргумента по умолчанию:
def f2(a, b=5): return a - b
Функцию f2
можно вызывать с одним аргументом
f2(1) # -4
Можно объявить произвольное количество аргументов функции:
def f3(*args): return sum(args) f3(3, 4, 5, 6) # 18 args = [3, 4, 5, 6] f3(*args) # 18
Бывают ситуации, когда функция может быть использована различными способами, которые подразумевают передачу различных аргументов. В таких случаях бывает удобно использовать произвольный набор именованных аргументов:
def f4(**kwargs): """ Prints names, types, and values of the passed arguments """ print('Here are my arguments:') for name, val in kwargs.items(): print(f'{name} ({type(val)}): {val}') f4(a=1, s='string', l=['a', 2+3j]) # Here are my arguments: # a (<class 'int'>): 1 # s (<class 'str'>): string # l (<class 'list'>): ['a', (2+3j)]
Возможно комбинация трех способов объявления аргументов:
def f5(a, b, *args, **kwargs): pass
Функция f5
имеет два обязательных аргумента, после которых может идти произвольное количество позиционных аргументов. После этого в функцию можно еще передать произвольные именованные аргументы.
Работа с файлами
Чтение и запись в файл происходит с помощью функции open:
with open('text.txt', 'w') as f: f.write('An important message.') with open('text.txt', 'r') as f: s = f. read() print(s) # 'An important message.`
При чтении файла можно итерироваться по его строкам:
with open('text.txt', 'r') as f: for line in f: pass
При необходимости записи новых данных в конец файла, если он уже существует, вместо ключа w
необходимо использовать a
. Для чтения или записи данных в бинарном формате необходимо использовать ключ b
, например: wb
или rb
.
При работе с файлами мы впервые использовали контекстный менеджер, который создается с помощью оператора with
. Это удобный способ управления временем жизни объектов, в данном случае файлового объекта. При выходе из контекстного менеджера файл автоматически закроется.
Оператор map и list/set/dict comprehension
Списки в python можно создавать с помощью специальной конструкции, которую называют списковым включением (list comprehension).
Вместо
squares = [] for i in range(10): squares. append(i**2)
можно написать
squares = [i**2 for i in range(10)]
Помимо краткости, эта конструкция исполняется эффективнее, чем вызов метода append
в цикле.
Такого же результата можно добиться с помощью встроенной функции map
, которая применяет какую-либо функцию к элементам итерируемого (iterable) объекта:
squares = list(map(lambda x: x**2, range(10)))
Схожим образом можно создавать множества и словари:
s = {i**2 for i in range(10)} # set d = {i: i**2 for i in range(10)} # dict
В списковых включениях можно использовать условный оператор для фильтрации объектов:
l = [i**2 for i in range(10) if i % 3 == 0] # [0, 9, 36, 81]
Множественное присваивание и распаковка
В python можно задавать значения нескольких переменных одним выражением:
a, b, c = 1, 'a', [3, 2, 1]
Частный случай такого множественного присваивания позволяет поменять значения двух переменных одним выражением:
a, b = b, a
Если задать верное количество переменных, то можно распаковать кортеж или список:
t = (1988, 'Mike', 4. 56) year, name, score = t
Можно распаковывать и итерируемые объекты с произвольным количеством объектов:
a, b, *c, d = range(10) # a = 0 # b = 1 # c = [2, 3, 4, 5, 6, 7, 8] # d = 9
Вместо резюме
На этом мы завершаем обзор основных конструкций языка python. В следующих разделах мы будем уточнять различные аспекты языка python. Стиль написания программ на python сильно отличается от стиля разработки на C++. Грамотное использование возможностей python позволяет в большинстве случаев реализовывать необходимую логику гораздо быстрее, чем при разработке на C++.
Источники
- tutorialspoint.com/python/python_basic_syntax.htm
- tutorialspoint.com/python/python_variable_types.htm
- docs.python.org/3/library/functions.html
- stavros.io/tutorials/python
- realpython.com/python-data-types
- Как в Python реализованы очень длинные числа типа integer (habr)
- List Comprehension vs Map (habr)
- Что такое *args и **kwargs в Python? (habr)
Python с нуля – часть 1: базовый синтаксис
Python с нуля – часть 1: базовый синтаксисЭта и последующие статьи в этой серии – перевод страниц руководства Python Basic Tutorial, с небольшими дополнениями и уточнениями. Замечания и предложения можно оставить в комментариях или на странице Контакты.
Язык Python во многом схож с языками Perl, C и Java, однако между ними имеются и определённые различия. В этой главе мы рассмотрим базовый синтаксис языка Python.
Содержание
Первая программа на Python
Программирование в интерактивном режиме
Вызвав интерпретатор Python без указания ему аргументом файла скрипта приведёт к вызову такой строки:
$ python Python 2.7.6 (default, Feb 28 2014, 12:29:01) [GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9 Type "help", "copyright", "credits" or "license" for more information. >>>
Наберите следующий текст справа от строки приглашения Python >>> и нажмите Enter:
>>> print "Hello, Python!"
Если вы используете Python версии 3. 0 и выше – вам необходимо использовать оператор (statement) print
с круглыми скобками ()
(т.к. в Python 3 print
больше относится к функции, чем к оператору, в отличии от Python 2 версии):
>>> print ("Hello, Python!")
Однако, даже если у вас Python 2 – вы можете использовать скобки в целях улучшения совместимости ваших скриптов в разными версиями Python.
В результате – интерпретатор должен выдать такой результат:
Hello, Python!
Программирование скриптов
Вызов интерпретатора и передача ему в качестве аргумента скрипта начнёт выполнение этого скрипта, и будет продолжаться пока скрипт не завершится.
Давайте напишем простой скрипт на Python. Как правило – скрипты Python имеют расширение .py
. Создайте новый скрипт test.py
с таким содержимым:
print "Hello, Python!"
Тут предполагается, что у вас уже установлен Python и путь к нему добавлен в переменной $PATH
.
Что бы проверить это – выполните:
$ which python /usr/local/bin/python
$ echo $PATH | grep "/usr/local/bin" /sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/setevoy/bin
Или так:
$ printenv | grep /usr/local/bin SHELL=/usr/local/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/setevoy/bin
Обратите внимание, что путь к интерпретатору /usr/local/bin/python
обычно используется в ОС FreeBSD, в системах Linux как правило Python располагается в:
$ which python /usr/bin/python
Теперь – давайте запустим наш скрипт:
$ python test.py
Что должно дать нам такой результат:
Hello, Python!
Другой способ запуска скриптов на Python – указание пути к интерпретатору в заголовке скрипта. Такой заголовок называется shebang
и начинается со знаков #!
.
Давайте отредактируем наш файл test.py
и приведём его к такому виду:
#!/usr/local/bin/python print "Hello, Python!"
Теперь – установим бит выполнения:
$ chmod +x test.py
И запустим наш скрипт:
$./test.py
В результате мы должны получить такой вывод:
Hello, Python!
Идентификаторы в Python
Идентификаторы в Python – это имена, используемые для определения (“идентификации“) переменных, функций, классов, модулей и других объектов. Идентификатор начинается с букв A-Z
или a-z
, либо знака подчеркивания (_
), после чего следуют ноль или больше букв (*совет – никогда не создавайте свою собственную переменную с именем “_”, т.к. это имя зарезервировано самими интерпретатором), знаков подчеркивания или цифр от 0 до 9.
В идентификаторах Python не используются знаки @, $
и %.
Так же – Python чувствителен к регистру символов, т. е. Manpower
и manpower
являются двумя различными именами (идентификаторами).
Вот основные правила именования идентификаторов в Python:
- Имена классов начинаются с заглавной буквы, а все остальные идентификаторы – со строчных;
- Если идентификатор начинается со знака подчёркивания (_) – то он является приватным;
- Starting an identifier with two leading underscores indicates a strongly private identifier.
- If the identifier also ends with two trailing underscores, the identifier is a language-defined special name.
Зарезервированные имена
В списке ниже приведены имена, которые зарезервированы в Python, и их использование не допускается в использовании определения констант, переменных или любых других пользовательских именах. Все зарезервированные слова содержат только строчные буквы:
and | exec | not |
assert | finally | or |
break | for | pass |
class | from | |
continue | global | raise |
def | if | return |
del | import | try |
elif | in | while |
else | is | with |
except | lambda | yield |
Строки и отступы
Одно из самых важных замечаний для тех, кто начал изучать Python – это то, что в нём при обозначении границ блоков кода для классов и функций, а так же для управления потоками, не используются привычные некоторым фигурные скобки. IndentationError: unexpected indent
Таким образом, все линии, имеющие одинаковое количество отступов от начала строки буду формировать блок кода. В примере ниже продемонстрированы блоки с различными операторами (не важно, что какие-то из функций в этом примере вам будут непонятны, главное – постарайтесь понять роль отступов в нём):
#!/usr/local/bin/python import sys try: # open file stream file = open(file_name, "w") except IOError: print "There was an error writing to", file_name sys.exit() print "Enter '", file_finish, print "' When finished" while file_text != file_finish: file_text = raw_input("Enter text: ") if file_text == file_finish: # close the file file.close break file.write(file_text) file.write("n") file.close() file_name = raw_input("Enter filename: ") if len(file_name) == 0: print "Next time please enter something" sys. exit() try: file = open(file_name, "r") except IOError: print "There was an error reading file" sys.exit() file_text = file.read() file.close() print file_text
Многострочные операторы
Операторы и операнды в Python как правило заканчиваются новой строкой. Однако, есть возможность использовать знак продолжения строки “” для обозначения того, что строка продолжается. Например:
>>> total = item_one + ... item_two + ... item_three
Операнды, заключённые в скобки [], {}
или ()
не нуждаются в использовании такого символа. Например:
>>> days = ['Monday', 'Tuesday', 'Wednesday', ... 'Thursday', 'Friday'] >>> print (days) ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Что бы представлять себе разницу между “оператором” и “операндом” при выполнении “операции” – посмотрите на эту картинку:
Подробнее об операторах читайте в Python: Basic Tutorial – часть 3: базовые операторы.
Кавычки Python
В Python используются одинарные ('
), двойные ("
) и тройные ('''
или """
) кавычки для обозначения строковых литералов (или просто – строк).
Тройные кавычки могут использоваться для охвата многострочного текста.
Примеры:
>>> word = 'word' >>> sentence = "This is a sentence." >>> paragraph = """This is a paragraph. It is ... made up of multiple lines and sentences.""
Комментарии в Python
Хеш-тег (#
), который не находится внутри строки задаёт начало комментария. Все символы после #
и до конца строки являются частью комментария, и Python игнорирует их.
#!/usr/bin/python # First comment print "Hello, Python!"; # second comment
Приведённый выше код даст такой результат:
Hello, Python!
Комментарии так же можно размещать и на одной строке после операторов или выражения, например:
name = "Madisetti" # This is again comment
Многострочные комментарии можно создать так:
# This is a comment. # This is a comment, too. # This is a comment, too. # I said that already.
Или так:
>>> '''Line one ... second line ... third line'''
Пустые строки
Пустые строки, или строки содержащие только пробелы, или строки с комментариями, игнорируются интерпретатором.
В интерактивной сессии интерпретатора, необходимо ввести пустую строку для завершения многострочного оператора.
Ожидание ввода данных от пользователя
Следующая строка программы отобразит приглашение “Press the enter key to exit” и будет ожидать от пользователя нажатия Enter:
#!/usr/bin/python raw_input("nnPress the enter key to exit.")
Символы “nn
” тут используются для создания двух новых строк и перед отображением приглашения. Как только пользователь нажмёт Enter – программа завершится.
В Python 3 функция raw_input()
была заменена функцией input().
Множественные операторы в одной строке
Знак точки с запятой (;
) даёт возможность разместить несколько операторов в одной строке, при этом они не должны являться блоком кода. Вот пример вызова функции в одной строке с использованием (;
):
>>> import sys; x = 'foo'; sys.stdout.write(x + 'n') foo
Множественные группы и наборы операторов
Группа операторов, которые определены в один блок кода, в Python называются “набор” (suite
). Структура группы операторов, таких как if, while, def
, и class
и которая требует строки-заголовка для них представляют собой такой набор.
Строка заголовка начинается с определённого оператора, заканчивается двоеточием (:
), а продолжение такого набора – строки с остальными операторами. Например:
if expression: suite elif expression: suite else: suite
Аргументы командной строки Python
Вы, вероятно, уже встречались с тем, что многие программы предоставляют дополнительную информацию о том, как их можно запускать. В Python для этого используется ключ -h
:
$ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ]
64 021 views
More results…
Exact matches only
Exact matches only
Search in title
Search in title
Search in content
Search in content
Search in excerpt
Hidden
Hidden
Navigation
aСамое читаемое
- CentOS: установка, настройка Zabbix-agent и добавление нового хоста в мониторинг — 507 184 views
- MySQL/MariaDB: наиболее используемые команды, примеры — 289 263 views
- BASH: описание циклов for, while, until и примеры использования — 152 244 views
- Команда find и её опции в примерах — 139 696 views
- Карта сайта — 130 640 views
Архив месяца
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Архивы по годам
Архивы по годам Выберите месяц Октябрь 2022 (4) Сентябрь 2022 (1) Июнь 2022 (1) Май 2022 (1) Апрель 2022 (1) Март 2022 (2) Январь 2022 (1) Декабрь 2021 (3) Ноябрь 2021 (8) Октябрь 2021 (4) Сентябрь 2021 (5) Август 2021 (5) Июль 2021 (6) Июнь 2021 (6) Май 2021 (6) Апрель 2021 (11) Март 2021 (8) Февраль 2021 (6) Январь 2021 (1) Декабрь 2020 (1) Ноябрь 2020 (9) Октябрь 2020 (9) Сентябрь 2020 (4) Август 2020 (8) Июль 2020 (4) Июнь 2020 (3) Май 2020 (5) Апрель 2020 (9) Март 2020 (8) Февраль 2020 (9) Январь 2020 (2) Декабрь 2019 (9) Ноябрь 2019 (9) Октябрь 2019 (11) Сентябрь 2019 (11) Август 2019 (10) Июль 2019 (2) Июнь 2019 (4) Май 2019 (9) Апрель 2019 (13) Март 2019 (32) Февраль 2019 (20) Январь 2019 (10) Декабрь 2018 (9) Ноябрь 2018 (12) Октябрь 2018 (15) Сентябрь 2018 (12) Август 2018 (14) Июль 2018 (17) Июнь 2018 (18) Май 2018 (21) Апрель 2018 (6) Март 2018 (18) Февраль 2018 (7) Январь 2018 (13) Декабрь 2017 (14) Ноябрь 2017 (6) Октябрь 2017 (24) Сентябрь 2017 (13) Август 2017 (15) Июль 2017 (11) Июнь 2017 (11) Май 2017 (11) Апрель 2017 (7) Март 2017 (18) Февраль 2017 (13) Январь 2017 (14) Декабрь 2016 (12) Ноябрь 2016 (15) Октябрь 2016 (13) Сентябрь 2016 (21) Август 2016 (19) Июль 2016 (14) Июнь 2016 (8) Май 2016 (24) Апрель 2016 (15) Март 2016 (19) Февраль 2016 (21) Январь 2016 (19) Декабрь 2015 (17) Ноябрь 2015 (17) Октябрь 2015 (14) Сентябрь 2015 (13) Август 2015 (1) Июль 2015 (20) Июнь 2015 (23) Май 2015 (26) Апрель 2015 (28) Март 2015 (30) Февраль 2015 (26) Январь 2015 (24) Декабрь 2014 (31) Ноябрь 2014 (21) Октябрь 2014 (28) Сентябрь 2014 (23) Август 2014 (31) Июль 2014 (23) Июнь 2014 (11) Май 2014 (14) Апрель 2014 (8) Март 2014 (11) Февраль 2014 (11) Январь 2014 (11) Декабрь 2013 (12) Ноябрь 2013 (23) Октябрь 2013 (20) Сентябрь 2013 (30) Август 2013 (20) Июль 2013 (6) Июнь 2013 (9) Май 2013 (5) Апрель 2013 (13) Март 2013 (22) Февраль 2013 (36) Январь 2013 (10) Декабрь 2012 (4) Ноябрь 2012 (8) Октябрь 2012 (13) Сентябрь 2012 (29) Август 2012 (24) Июль 2012 (18) Июнь 2012 (2) Май 2012 (4) Март 2012 (5) Февраль 2012 (5) Январь 2012 (25) Декабрь 2011 (15) Ноябрь 2011 (6) Август 2011 (13)Iconic One Theme | Powered by WordPress
Синтаксис Python
Резюме : в этом руководстве вы узнаете об основном синтаксисе Python, чтобы быстро начать работу с языком Python.
Пробелы и отступы
Если вы работали с другими языками программирования, такими как Java, C# или C/C++, вы знаете, что эти языки используют точку с запятой ( ;
) для разделения операторов.
Однако Python использует пробелы и отступы для создания структуры кода.
Ниже показан фрагмент кода Python:
Язык кода: Python (python)
# определить основную функцию для вывода чего-либо деф основной(): я = 1 макс = 10 в то время как (я <макс.): печать (я) я = я + 1 # вызов функции main main()
Значение кода для вас сейчас не важно. Вместо этого обратите внимание на структуру кода.
В конце каждой строки вы не видите точку с запятой для завершения инструкции. И код использует отступы для форматирования кода.
Используя отступы и пробелы для организации кода, код Python получает следующие преимущества:
- Во-первых, вы никогда не пропустите начало или конец кода блока, как в других языках программирования, таких как Java или C#.
- Во-вторых, стиль кодирования практически одинаков. Если вам нужно поддерживать код другого разработчика, этот код выглядит так же, как ваш.
- В-третьих, код более читабельный и понятный по сравнению с другими языками программирования.
Комментарии
Комментарии так же важны, как и код, потому что они описывают, почему был написан фрагмент кода.
Когда интерпретатор Python выполняет код, он игнорирует комментарии.
В Python однострочный комментарий начинается с символа решетки (#), за которым следует комментарий. Например:
Язык кода: Python (python)
# Это однострочный комментарий на Python
И Python также поддерживает другие виды комментариев.
Продолжение операторов
Python использует символ новой строки для разделения операторов. Он помещает каждое выражение в одну строку.
Однако длинная инструкция может занимать несколько строк с использованием символа обратной косой черты ( \
).
В следующем примере показано, как использовать символ обратной косой черты ( \
) для продолжения оператора во второй строке:
Язык кода: Python (python)
if (a == True) и (b == False) и \ (с == Истина): print("Продолжение операторов")
Идентификаторы
Идентификаторы — это имена, которые идентифицируют переменные, функции, модули, классы и другие объекты в Python.
Имя идентификатора должно начинаться с буквы или подчеркивания ( _
). Следующие символы могут быть буквенно-цифровыми или символами подчеркивания.
Идентификаторы Python чувствительны к регистру. Например, счетчик
и счетчик
являются разными идентификаторами.
Кроме того, вы не можете использовать ключевые слова Python для именования идентификаторов.
Ключевые слова
Некоторые слова в Python имеют особое значение. Они называются ключевыми словами.
Ниже показан список ключевых слов в Python:
Язык кода: Python (python)
False class finally is return Нет продолжения для лямбда-попытки Истинное определение от нелокального в то время как и del global не с как elif if или yield утверждать иначе импортировать пропуск брейк кроме рейза
Python — это растущий и развивающийся язык. Таким образом, его ключевые слова будут расти и меняться.
Python предоставляет специальный модуль для вывода списка своих ключевых слов под названием ключевое слово
.
Чтобы найти текущий список ключевых слов, используйте следующий код:
Язык кода: Python (python)
ключевое слово импорта print(keyword.kwlist)
Строковые литералы
Python использует одинарные кавычки ( '
), двойные кавычки ( "
), тройные одинарные кавычки ( '''
) и тройные двойные кавычки ( """
) для обозначения строкового литерала.
Строковый литерал должен быть заключен в кавычки того же типа. Например, если вы используете одинарную кавычку, чтобы начать строковый литерал, вам нужно использовать ту же одинарную кавычку, чтобы закончить его.
Ниже приведены некоторые примеры строковых литералов:
Язык кода: Python (python)
s = 'Это строка' печать(и) s = "Другая строка с использованием двойных кавычек" печать(и) s = ''' строка может занимать несколько строк ''' печать(и)
Сводка
- Оператор Python заканчивается символом новой строки.
- Python использует пробелы и отступы для организации структуры своего кода.
- Идентификаторы — это имена, которые идентифицируют переменные, функции, модули, классы и т. д. в Python.
- Комментарии описывают, почему код работает. Они игнорируются интерпретатором Python.
- Используйте одинарные, двойные, тройные или тройные двойные кавычки для обозначения
Этот урок был вам полезен?
Справочник по языку Python — документация Python 3.11.0
В этом справочном руководстве описывается синтаксис и «основная семантика» язык. Он краток, но пытается быть точным и полным. Семантика несущественные встроенные типы объектов и встроенные функции и модули описаны в стандартной библиотеке Python. Для неформального ознакомления с язык, см. Учебник по Python. Для программистов на C или C++ два дополнительных существуют руководства: Расширение и встраивание интерпретатора Python описывает общую картину того, как написать модуль расширения Python, а Справочное руководство Python/C API описывает подробно об интерфейсах, доступных программистам на C/C++.
- 1. Введение
- 1.1. Альтернативные реализации
- 1.2. Обозначение
- 2. Лексический анализ
- 2.1. Линейная структура
- 2.2. Прочие токены
- 2.3. Идентификаторы и ключевые слова
- 2.4. Литералы
- 2.5. Операторы
- 2.6. Разделители
- 3. Модель данных
- 3.1. Объекты, значения и типы
- 3.2. Стандартная иерархия типов
- 3.3. Названия специальных методов
- 3.4. Сопрограммы
- 4. Модель исполнения
- 4.1. Структура программы
- 4.2. Именование и привязка
- 4.3. Исключения
- 5. Система импорта
- 5.1.
импортная библиотека
- 5.2. Пакеты
- 5.3. Поиск
- 5.4. Загрузка
- 5.5. Искатель на основе пути
- 5.6. Замена стандартной системы импорта
- 5.7. Относительный импорт пакетов
- 5. 8. Особые замечания для __main__
- 5.9. Ссылки
- 5.1.
- 6. Выражения
- 6.1. Арифметические преобразования
- 6.2. Атомы
- 6.3. Праймериз
- 6.4. Ожидание выражения
- 6.5. Силовой оператор
- 6.6. Унарные арифметические и побитовые операции
- 6.7. Двоичные арифметические операции
- 6.8. Сдвиговые операции
- 6.9. Двоичные побитовые операции
- 6.10. Сравнения
- 6.11. Логические операции
- 6.12. Выражения присвоения
- 6.13. Условные выражения
- 6.14. Лямбды
- 6.15. Списки выражений
- 6.16. Заказ на оценку
- 6.17. Приоритет оператора
- 7. Простые операторы
- 7.1. Операторы выражений
- 7.2. Операторы присвоения
- 7.3. Оператор
утверждает
- 7.4. Оператор
pass
- 7.5. Заявление
del
- 7.