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(
"""
—————————————|
Сегодня
Прекрасный
день
—————————————|
"""
)

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз
Г

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

  • Нәтиже:66ұпай,
  • Бағалау ұпайлары-1
t

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

  • Нәтиже:33ұпай,
  • Бағалау ұпайлары-10
t

Qt - Тест 001. Сигналы и слоты

  • Нәтиже:52ұпай,
  • Бағалау ұпайлары-4
Соңғы пікірлер
G
GoattRockҚыр. 3, 2024, 1:50 Т.Қ.
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
d
dblas5Шілде 5, 2024, 11:02 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssrАқп. 8, 2024, 6:43 Т.Қ.
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Енді форумда талқылаңыз
Evgenii Legotckoi
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
F
FynjyШілде 22, 2024, 4:15 Т.Ж.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCT
BlinCTМаусым 25, 2024, 1 Т.Ж.
Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
BlinCT
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
Evgenii Legotckoi
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

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