Evgenii Legotckoi
Evgenii Legotckoi24 лютого 2018 р. 11:51

Python 3 – Підручник 003. Основний синтаксис

Мова Python має багато спільного з Perl, C та Java. Проте між мовами існують певні розбіжності.

Перша програма Python

Давайте виконаємо програми у різних режимах програмування.

Інтерактивний режим програмування

Виклик інтерпретатора без передачі файлу сценарію як параметр викликає наступну підказку -

$ python

Python 3.5.2 (default, Dec 10 2013, 11:35:01)
[GCC 5.4.0] on Linux
Type "help", "copyright", "credits", or "license" for more information.
>>>

On Windows:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>

Введіть наступний текст у запрошенні Python та натисніть Enter -

>>> print ("Hello, Python!")

Якщо ви використовуєте старішу версію Python (Python 2.x), використання дужок як функція inprint необов'язково. Це дає такий результат:

Hello, Python!

Режим програмування зі скриптами

Виклик інтерпретатора з параметром script починає виконання скрипта і продовжується до завершення скрипта. Коли скрипт закінчено, інтерпретатор перестає бути активним.

Давайте напишемо просту програму Python у скрипті. Файли Python мають розширення .py . Введіть наступний код у файл test.py -

print ("Hello, Python!")

Припустимо, що ви маєте інтерпретатор Python, встановлений у змінній PATH . Тепер спробуйте запустити цю програму так:

Linux

$ python test.py 

Це дає такий результат:

Hello, Python!

Windows

C:\Python35>Python test.py

Це дає такий результат:

Hello, Python!

Спробуємо ще один спосіб виконати скрипт Python у Linux. Ось модифікований файл test.py -

#!/usr/bin/python3
print ("Hello, Python!")

Припустимо, що ви маєте інтерпретатор Python, доступний у каталозі /usr/bin . Тепер спробуйте запустити цю програму так:

$ chmod +x test.py     # Сделать файл исполяемым
$./test.py

Це дає такий результат:

Hello, Python!

Ідентифікатори Python

Ідентифікатор Python – це ім'я, яке використовується для ідентифікації змінної, функції, класу, модуля або іншого об'єкта. Ідентифікатор починається з літери від A до Z або від a до z або символу підкреслення (_), за яким слідує нуль або більше літер, знаків підкреслення та цифр (від 0 до 9).

Python не допускає розділових знаків, таких як @, $ і % в ідентифікаторах. Python - це мова програмування, чутлива до регістру. Таким чином, Manpower і manpower є двома різними ідентифікаторами Python.

Тут наведено угоди про імена для ідентифікаторів Python.

  • Імена класів починаються з літери верхнього регістру. Решта ідентифікаторів починається з малої літери.
  • Початок ідентифікатора з одним підкресленням означає, що ідентифікатор є приватним.
  • Початок ідентифікатора з двома лідируючими символами підкреслення означає сильний приватний ідентифікатор.
  • Якщо ідентифікатор також закінчується двома завершальними символами підкреслення, ідентифікатор є спеціальним ім'ям, визначеним мовою.

Зарезервовані слова

У наступному списку відображаються ключові слова Python. Це зарезервовані слова, і ви не можете використовувати їх як константи або змінні або будь-які інші імена ідентифікаторів. Усі ключові слова Python містять лише малі літери.

та
як
стверджувати
перерва
клас
продовжувати
def
del
еліф
інше
крім

Рядки та відступи

Python не використовує фігурні дужки ({}) для позначення блоків коду для визначення класів та функцій або управління потоком. Блоки коду позначаються рядком вкладення, який завжди застосовується без винятків.

Кількість прогалин у відступі є змінною, але всі оператори всередині блоку повинні мати відступи однакової довжини. Наприклад,

if True:
    print ("True")

else:
    print ("False")

Однак наступний блок генерує помилку -

if True:
    print ("Answer")
print ("True")

else:
    print ("Answer")
print ("False")

Таким чином, у Python всі безперервні лінії з відступом з такою ж кількістю прогалин утворюють блок. Наступний приклад має різні блоки операторів -

Примітка. Не намагайтеся зрозуміти логіку коду. Просто переконайтеся, що ви зрозуміли, як формуються блоки в Python.

#!/usr/bin/python3

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 = 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 зазвичай закінчуються новим рядком. Однак, Python дозволяє використовувати символ продовження рядка (), щоб позначити, що рядок має продовжуватися. Наприклад,

total = item_one + \
        item_two + \
        item_three

Оголошення, що містяться у дужках [], {} або (), не повинні використовувати символ продовження рядка. Наприклад,

days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

Лапки в 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/python3

# First comment
print ("Hello, Python!") # second comment

Це дає такий результат:

Hello, Python!

Ви можете ввести коментар у тому ж рядку після оголошення або висловлювання -

name = "Madisetti" # This is again comment

Python не має функції багаторядкового коментування. Ви повинні прокоментувати кожен рядок окремо:

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

Використання порожніх рядків

Рядок, що містить лише пробіли, можливо з коментарем, називається порожнім рядком, і Python повністю ігнорує його.

У сеансі інтерактивного інтерпретатора ви повинні ввести порожній фізичний рядок для завершення багаторядкового оператора.

Очікування користувача

Наступний рядок програми відображає запрошення та повідомлення "Натисніть клавішу enter для виходу", а потім чекає, коли користувач вживе -

#!/usr/bin/python3

input("\n\nPress the enter key to exit.")

Тут \n\n використовується для створення двох нових рядків перед відображенням фактичного рядка. Як тільки користувач натискає клавішу, програма закінчується. Це хороший трюк, щоб відкрити консольне вікно до тих пір, поки користувач не закінчить роботу з програмою.

Кілька оголошень на одному рядку

Точка з комою (;) допускає кілька операторів в одному рядку, якщо оператор не запускає новий блок коду. Ось приклад із використанням точки з комою -

import sys; x = 'foo'; sys.stdout.write(x + '\n')

Декілька груп виразу як набір

Групи окремих операторів, які утворюють один кодовий блок, називаються наборами Python. Для складних або складних операторів, таких як if, while, def та class, потрібен рядок заголовка та набір.

Рядки заголовка починаються з оператора (з ключовим словом) і закінчуються двокрапкою (:), за яким слідують один або кілька рядків, які складають набір. Наприклад,

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

Аргументи командного рядка

Багато програм можуть бути запущені, щоб надати деяку базову інформацію про те, як їх слід запускати. 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. ]
Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

s
  • 24 лютого 2018 р. 15:03

https://s.mail.ru/LPJj/fgGKTeJiQ

Парсер съел отступы

======

Многострочные объяления


======
>Python не имеет функции многострочного комментирования. Вы должны прокомментировать каждую строку отдельно:

но ведь есть тройные ковычки

Evgenii Legotckoi
  • 24 лютого 2018 р. 15:30

В примерах поправил.


Тройные кавычки - это не комментарии... это возможность многострочного ввода. То, что программисты Python используют их в качестве комментариев - это уже отдельный разговор. Комментарии через # игнорируются интерпретатором Python, тогда когда тройные кавычки интерпретатором Python не игнорируются.

Сравните поведение такого кода
print(
"Сегодня"
"Прекрасный"
"день"
)
С поведением вот этого кода
print(
"""
—————————————|
Сегодня
Прекрасный
день
—————————————|
"""
)

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up
AD

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50бали,
  • Рейтинг балів-4
m
  • molni99
  • 26 жовтня 2024 р. 01:37

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:80бали,
  • Рейтинг балів4
m
  • molni99
  • 26 жовтня 2024 р. 01:29

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:20бали,
  • Рейтинг балів-10
Останні коментарі
ИМ
Игорь Максимов22 листопада 2024 р. 11:51
Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii Legotckoi31 жовтня 2024 р. 14:37
Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZE19 жовтня 2024 р. 08:19
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь Максимов05 жовтня 2024 р. 07:51
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas505 липня 2024 р. 11:02
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Тепер обговоріть на форумі
Evgenii Legotckoi
Evgenii Legotckoi24 червня 2024 р. 15:11
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey115 листопада 2024 р. 06:04
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProject04 червня 2022 р. 03:49
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
9
9Anonim25 жовтня 2024 р. 09:10
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

Слідкуйте за нами в соціальних мережах