Evgenii Legotckoi
Evgenii LegotckoiАқп. 24, 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!

Сценарийлермен бағдарламалау режимі

Интерпретаторды сценарий параметрімен шақыру сценарийдің орындалуын бастайды және сценарий аяқталғанша жалғасады. Сценарий аяқталған кезде аудармашы енді белсенді емес.

Қарапайым Python бағдарламасын сценарийде жазайық. Python файлдарының .py кеңейтімі бар. test.py файлына келесі бастапқы кодты енгізіңіз -

print ("Hello, Python!")

PATH айнымалысында орнатылған Python аудармашысы бар деп есептейік. Енді осы бағдарламаны келесідей іске қосып көріңіз:

Linux

$ python test.py 

Бұл келесі нәтиже береді:

Hello, Python!

Windows

C:\Python35>Python test.py

Бұл келесі нәтиже береді:

Hello, Python!

Linux жүйесінде Python сценарийін орындаудың басқа әдісін қолданып көрейік. Міне, өзгертілген test.py файлы -

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

/usr/bin каталогында қол жетімді Python аудармашы бар деп есептейік. Енді осы бағдарламаны келесідей іске қосып көріңіз:

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

Бұл келесі нәтиже береді:

Hello, Python!

Идентификаторы Python

Python идентификаторы айнымалыны, функцияны, классты, модульді немесе басқа нысанды анықтау үшін пайдаланылатын атау. Идентификатор А-дан Я-ға дейін немесе а-дан z-ге дейінгі әріптен немесе астын сызудан (_) басталады, одан кейін нөл немесе одан да көп әріптер, астын сызулар және сандар (0-ден 9-ға дейін).

Python идентификаторларда @, $ және % сияқты тыныс белгілеріне рұқсат бермейді. Python – регистрді ескеретін бағдарламалау тілі. Сонымен, жұмыс күші мен жұмыс күші Python-да екі түрлі идентификатор.

Міне, Python идентификаторлары үшін атау конвенциялары -

  • Сынып атаулары бас әріптен басталады. Барлық басқа идентификаторлар кіші әріптен басталады.
  • Бір астын сызылған идентификатордың басталуы идентификатордың жеке екенін білдіреді.
  • Екі басты астын сызумен басталатын идентификатор күшті жеке идентификаторды білдіреді.
  • Егер идентификатор да екі астын сызумен аяқталса, идентификатор тілмен анықталған арнайы атау болып табылады.

Сақталған сөздер

Келесі тізім Python кілт сөздерін көрсетеді. Бұл сақталған сөздер және оларды тұрақтылар немесе айнымалылар немесе кез келген басқа идентификатор атаулары ретінде пайдалана алмайсыз. Барлық Python кілт сөздерінде тек кіші әріптер бар.

және
ретінде
бекіту
үзіліс
сынып
жалғастыру
Def
del
elif
басқа
қоспағанда

Жолдар мен шегіністер

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" нақты жолды көрсетпес бұрын екі жаңа жолды жасау үшін пайдаланылады. Пайдаланушы пернені басқаннан кейін бағдарлама аяқталады. Бұл пайдаланушы қолданбаны аяқтағанша консоль терезесін ашық ұстаудың жақсы тәсілі.

Бір жолда бірнеше декларация

No операторы кодтың жаңа блогын бастамаса, нүктелі үтір (;) бір жолда бірнеше операторларға рұқсат береді. Міне нүктелі үтірді қолданатын мысал -

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, 3:03 Т.Қ.

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

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

======

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


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

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

Evgenii Legotckoi
  • Ақп. 24, 2018, 3:30 Т.Қ.

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


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

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

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз
OI
  • Ora Iro
  • Жел. 24, 2024, 6:38 Т.Ж.

C++ - Тест 001. Первая программа и типы данных

  • Нәтиже:40ұпай,
  • Бағалау ұпайлары-8
AD

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

  • Нәтиже:50ұпай,
  • Бағалау ұпайлары-4
m
  • molni99
  • Қаз. 26, 2024, 1:37 Т.Ж.

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

  • Нәтиже:80ұпай,
  • Бағалау ұпайлары4
Соңғы пікірлер
ИМ
Игорь МаксимовҚар. 22, 2024, 11:51 Т.Ж.
Django - Оқулық 017. Теңшелген Django кіру беті Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii LegotckoiҚаз. 31, 2024, 2:37 Т.Қ.
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZEҚаз. 19, 2024, 8:19 Т.Ж.
Qt Creator көмегімен fb3 файл оқу құралы Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь МаксимовҚаз. 5, 2024, 7:51 Т.Ж.
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas5Шілде 5, 2024, 11:02 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Енді форумда талқылаңыз
Evgenii Legotckoi
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey1Қар. 15, 2024, 6:04 Т.Ж.
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProjectМаусым 4, 2022, 3:49 Т.Ж.
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
9
9AnonimҚаз. 25, 2024, 9:10 Т.Ж.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

Бізді әлеуметтік желілерде бақылаңыз