Press "Enter" to skip to content

Python Programming Paradigms

Python ilə Proqramlaşdırma

Facebook

You’re using a browser that isn’t supported by Facebook, so we’ve redirected you to a simpler version to give you the best experience.

Python ilə Proqramlaşdırma is on Facebook. To connect with Python ilə Proqramlaşdırma, join Facebook today.

Python ilə Proqramlaşdırma is on Facebook. To connect with Python ilə Proqramlaşdırma, join Facebook today.

Python ilə Proqramlaşdırma

@PythonProqramlasdirma

See All Photos
About Python ilə Proqramlaşdırma

Python ilə Proqramlaşdırma

İlk dəfə Azərbaycan dilində olan bu kitabla artıq proqramlaşdırma öyrənə bilməyən qalmayacaq!

Siz hələ də proqramlaşdırmanı öyrənə bilməmisiniz?

Kompüter Elmləri, İnformasiya Texnologiyaları və digər İT ixtisasları üzrə ali məktəbdə oxuyan tələbələrin nəzərinə!

– Sizə universitetdə proqramlaşdırmanı öyrətmirlər?
– Proqramlaşdırmanı sərbəst şəkildə öyrənmək Sizə çətin gəlir?
– Bahalı Proqramlaşdırma kurslarına getməyə pulunuz yoxdur?

O zaman bu kitab tam Sizə görədir.

Nüfuzlu TIOBE Proqramlaşdırma İcmasının məlumatlarına görə Python hazırda dünya üzrə ilk onluqda yer alan populyar proqramlaşdırma dili sayılır.

Python dili 1991-ci ildə Guido van Rossum tərəfindən işlənib hazırlanmışdır. Proqramlaşdırmanın müasir tələblərinə cavab verən bu dil universaldır. Bu gün Google, Intel, CISCO, Hewlett-Packard, Qualcomm, IBM və NASA kimi qurumlar bir çox layihələrini Python dilində işləyib hazırlayırlar. Python dili pulsuz olaraq yayılır. Bu dili öyrənmək asan və əyləncəlidir. Odur ki, Python dili nəinki peşəkar proqramçılar tərəfindən istifadə olunur, eləcə də həvəskarlar, məktəblilər də bu dilin imkanlarından geniş surətdə faydalanırlar.

Əgər proqramlaşdırmaya yeni başlayırsınızsa, o zaman Python dili tam Sizə görədir.

Kitab kimlər üçündür?

– Kompüter Elmləri, İnformasiya Texnologiyaları və digər İT ixtisasları üzrə ali məktəbdə oxuyan tələbələr;
– İnformatika müəllimləri;
– Orta məktəb şagirdləri;
– Proqramlaşdırmanı sərbəst şəkildə öyrənmək istəyənlər.

Kitab nə öyrədir?

– Proqramlaşdırma məntiqi;
– Alqoritmləşdirmə;
– Python dilinin əsasları + Obyektyönümlü Proqramlaşdırma.

Kitabın üstün cəhətləri nədir?

– Özü öyrənənlər üçün nəzərdə tutulub;
– Asan və anlaşıqlı izaholunma dili;
– Sadədən mürəkkəbə mövzu ardıcıllığı;
– Bol-bol misallar (proqramlar)

Mütəxəssislər bu kitabı məsləhət görür:

– Bu kitab beyninizi proqramlaşdırmanı öyrənməyə proqramlayacaq…
(Ramin Orucov. Azercell – bölüm müdiri)

– Bu kitab Sizə Python proqramlaşdırma dilini həqiqətən də 12 addımda öyrədəcək…
(Tural Nağı, FHN – sektor müdiri, proqramçı)

– Bu kitab proqramçı olmaq istəyənlərin görən gözü və düşünən beyni olacaq…
(Samir Səlimxanov, SİNAM – proqramçı)

– Bu kitab informatika fənninə olan münasibəti dəyişəcək…
(Naidə İsayeva, 283 saylı orta məktəb – informatika müəllimi)

– Bu kitabdan sonra Azərbaycanın Beynəlxalq İnformatika Olimpiadalarındakı nəticələri xeyli yaxşılaşacaq…
(Etibar Seyidzadə, Qafqaz Universiteti – müəllim)

Kitab eksklüzivdir, kitab mağazalarında satılmır. Kitabı əldə etmək istəyənlər 050 218 91 40 nömrəsi ilə əlaqə saxlaya bilərlər. Çatdırılma daxil kitabın qiyməti 22 manatdır. Kitab Azərbaycanın istənilən bölgəsinə çatdırıla bilər.

Python Programming Paradigms

Python dörd əsas proqramlaşdırma paradiqmasını dəstəkləyir: vacib, funksional, prosedur və obyekt yönümlü(imperative, functional, procedural, and object-oriented). İstər etibarlı, istərsə də faydalı olduğuna razı olsanız da, Python dördünün hamısını hazır və işlək vəziyyətə gətirməyə çalışır. Xüsusi istifadə halları üçün hansı proqramlaşdırma paradiqmasının ən uyğun olduğunu görmək üçün dalmazdan əvvəl, bunları tez bir şəkildə nəzərdən keçirmək üçün yaxşı vaxtdır.

Imperative programming paradigm(Zəruri proqramlaşdırma paradiqması)

Imperative programming paradigm istiqamətləri ifadə etmək üçün təbii dilin məcburi əhval-ruhiyyəsindən istifadə edir. Bir sıra şifahi əmrlər kimi əmrləri addım-addım yerinə yetirir. “Necə həll ediləcək” yanaşmasından sonra proqramın vəziyyətinə birbaşa dəyişikliklər edir; dolayısı ilə əyalətli proqramlaşdırma modeli adlanır. Zəruri proqramlaşdırma paradiqmasını istifadə edərək, çox sadə, lakin zərif bir kodu tez bir zamanda yaza bilərsiniz və məlumat manipulyasiyasını əhatə edən tapşırıqlar üçün çox əlverişlidir. Nisbətən yavaş və ardıcıl icra strategiyası sayəsində kompleks və ya paralel hesablamalar üçün istifadə edilə bilməz.
Məqsəd bir simvol siyahısını götürmək və bir simli yaratmaq üçün birləşdirmək olduğu bu nümunə tapşırığı nəzərdən keçirin. Bunu vacib bir proqramlaşdırma tərzində etmək üçün bir yol aşağıdakı kimi ola bilər:

>>> sample_characters = ['p','y','t','h','o','n']
>>> sample_string = ''
>>> sample_string
''
>>> sample_string = sample_string + sample_characters[0]
>>> sample_string
'p'
>>> sample_string = sample_string + sample_characters[1]
>>> sample_string
'py'
>>> sample_string = sample_string + sample_characters[2]
>>> sample_string
'pyt'
>>> sample_string = sample_string + sample_characters[3]
>>> sample_string
'pyth'
>>> sample_string = sample_string + sample_characters[4]
>>> sample_string
'pytho'
>>> sample_string = sample_string + sample_characters[5]
>>> sample_string
'python'
>>>

Functional programming paradigm(Funksional proqramlaşdırma paradiqması)

Funksional proqramlaşdırma paradiqması, proqram hesablamasını lambda hesablamasına əsaslanan riyazi funksiyaların qiymətləndirilməsi kimi qəbul edir. Lambda hesablama, dəyişən bağlama və əvəzetmə istifadə edərək funksiyanın mücərrədləşdirilməsinə və tətbiqinə əsaslanan hesablamaları ifadə etmək üçün riyazi məntiqdə formal bir sistemdir. “Nəyi həll etməli” yanaşmasını izləyir — yəni idarəetmə axınını təsvir etmədən məntiqi ifadə edir — bu səbəbdən də deklarativ proqramlaşdırma modeli kimi təsnif edilir.
Funksional proqramlaşdırma paradiqması vətəndaşlığı olmayan funksiyaları təbliğ edir, lakin qeyd etmək vacibdir ki, Python-un funksional proqramlaşdırmanı həyata keçirməsi standart tətbiqdən kənara çıxır. Pythonun natəmiz funksional bir dil olduğu deyilir, çünki ehtiyatlı deyilsinizsə vəziyyəti qorumaq və yan təsirlər yaratmaq mümkündür. Dediyimiz kimi, funksional proqramlaşdırma paralel işləmə üçün əlverişlidir və rekursiya və paralel icra tələb edən tapşırıqlar üçün olduqca səmərəlidir.

>>> sample_characters = ['p','y','t','h','o','n']
>>> import functools
>>> sample_string = functools.reduce(lambda s,c: s + c, sample_characters)
>>> sample_string
'python'
>>>

Procedural programming paradigm(Prosessual proqramlaşdırma paradiqması)

The procedural programming paradigm ifadələrin prosedurlara (alt proqramlar və ya funksiyalar olaraq da bilinir) qurulduğu məcburi bir proqramlaşdırmanın alt növüdür. Proqram tərkibi, proqramların kainatın hər hansı bir yerində yerləşə biləcəyi və icrasının ardıcıl olduğu, beləliklə resurs istifadəsi üçün dar bir nöqtəyə çevrildiyi bir prosedur çağırışıdır. Məcburi proqramlaşdırma paradiqması kimi, prosedur proqramlaşdırma da dövlət modelini izləyir. Prosessual proqramlaşdırma paradiqması yaxşı proqram dizaynı praktikasını asanlaşdırır və modulların kod kitabxanaları şəklində yenidən istifadəsinə imkan verir.

Bu modullaşdırılmış inkişaf forması çox köhnə bir inkişaf üslubudur. Bir proqramdakı fərqli modulların bir-biri ilə əlaqəsi ola bilməz və fərqli yerlərdə yerləşə bilər, lakin çox sayda modula sahib olmaq bir çox inkişaf etdiricilər üçün çətinliklər yaradır, çünki bu, məntiqin təkrarlanmasına deyil, həm də baxımından çox yüklənməyə səbəb olur düzgün zənglərin tapılması və edilməsi. Nəzərə alın ki, aşağıdakı tətbiqetmədə stringify metodu kainatın hər hansı bir yerində müəyyən edilə bilər və hiylə qurmaq üçün yalnız istədiyiniz arqumentlərlə uyğun çağırış tələb olunur.

>>> def stringify(characters):
. string = ''
. for c in characters:
. string = string + c
. return stringify
.
>>> sample_characters = ['p','y','t','h','o','n']
>>> stringify(sample_characters)
'python'
>>>

Object-oriented programming paradigm(Obyekt yönümlü proqramlaşdırma paradiqması)

Obyekt yönümlü proqramlaşdırma paradiqmasında obyektlər paradiqmaların əsas elementidir. Obyektlər sadəcə həm məlumat üzvlərini, həm də metod funksiyalarını özündə cəmləşdirən bir sinifin nümunəsi kimi tərif edilə bilər. Üstəlik, obyekt yönümlü üslub, encapsulation dəstəkləyən məlumat üzvləri və metod funksiyaları ilə əlaqədardır və bir inheritance anlayışının köməyi ilə kod asanlıqla təkrar istifadə edilə bilər, ancaq obyekt yönümlü proqramlaşdırma paradiqmasının əsas çatışmazlığı kodun olmadığıdır Düzgün yazıldıqdan sonra proqram bir canavar halına gəlir.

>>> class StringOps:
. def __init__(self, characters):
. self.characters = characters
. def stringify(self):
. self.string = ''.join(self.characters)
.
>>> sample_characters = ['p','y','t','h','o','n']
>>> sample_string = StringOps(sample_characters)
>>> sample_string.stringify()
>>> sample_string.string
'python'
>>>

Hansı proqramlaşdırma paradiqmasını seçməliyəm?

Fərqli proqramlaşdırma paradiqmaları arasında heç bir müqayisə olmadığını qeyd etmək vacibdir. Proqram bilik təqdimatından başqa bir şey olmadığı üçün suala cavab: “Problemimi təmsil etməyin ən yaxşı yolu nədir?” müəyyən bir proqramlaşdırma paradiqması seçməkdir.

Səmimi dillə desək, probleminiz bir sıra sadə ardıcıl manipulyasiyalarla əlaqədardırsa, köhnə məktəb məcburi proqramlaşdırma paradiqmasına əməl etmək zaman və səy baxımından ən ucuz başa gələcək və sizə ən yaxşı nəticəni verəcəkdir. Dəyərlərin riyazi çevrilmələrini, məlumatların süzülməsini, xəritələnməsini və azalmalarını tələb edən problemlər olduqda, riyazi funksiyalar kimi proqram hesablama ilə funksional proqramlaşdırma əlverişli ola bilər. Əgər problem müəyyən şərtlərdən asılı olaraq zaman keçdikcə dəyişə bilən müəyyən atributları olan bir-biri ilə əlaqəli obyektlər dəsti kimi qurulubsa, obyekt yönümlü proqramlaşdırma çox faydalı olacaqdır. Əlbətdə, qayda əsaslı bir yanaşma burada işləməyəcəkdir, çünki proqramlaşdırma paradiqması seçimi də işlənəcək məlumatların növündən, sistemin dinamik ehtiyaclarından və miqyaslandırma kimi digər şeylərdən çox asılıdır.

Python proqramlaşdırma dili 123

Python proqramlaşdırma dili
123
Mənbələr
1.
“ИнформатикА” Учебно-методический журнал для учителей информатики.
Издательский дом Первое сентября. № 9 2014г.
2.
А. Н. Чаплыгин. Учимся программировать вместе с Питоном. Учебник. — ревизия
226. — 135 с.
3.
Вабищевич П. Н. Численные методы. Вычислительный практикум. – – 320 c.
4.
Доусон М. Программируем на Python. – СПб.: Питер, 2014. – 416 с.
5.
И. А. Хахаев. Практикум по алгоритмизации и программированию на Python.
Учебник. — М.: Альт Линукс, 2010. — 126 с. — (Библиотека ALT Linux). — ISBN
978-5-905167-02-7.
6.
Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. –
1280 с.
7.
Лутц М. Программирование на Python, том I, 4-е издание. – Пер. с англ. – СПб.:
Символ-Плюс, 2011. – 992 с.
8.
Лутц М. Программирование на Python, том II, 4-е издание. – Пер. с англ.
9.
Марк Саммерфилд. Программирование на Python 3. Подробное руководство. —
Перевод с английского. — СПб.: Символ-Плюс, 2009. — 608 с —ISBN 978-5-93286-
161-5
10.
Пилгрим Марк. Погружение в Python 3 (Dive into Python 3 на русском)
11.
Прохоренок Н.А. Python 3 и PyQt. Разработка приложений. – СПб.: БХВ-Петербург,
2012. – 704 с.
12.
Прохоренок Н.А. Самое необходимое. — СПб.: БХВ-Петербург, 2011. — 416 с.
13.
Сузи Р. А. Язык программирования Python: Учебное пособие. — М.: ИНТУИТ,
БИНОМ. Лаборатория знаний, 2006. — 328 с. — ISBN 5-9556-0058-2,ISBN 5-94774-
442-2
14.
http://asvetlov.blogspot.com/2010/05/blog-post.html
15.
http://pep8.ru/doc/dive-into-python-3/1.html
16.
http://pep8.ru/doc/pep8/
17.
http://pep8.ru/doc/tutorial-3.1/
18.
http://pep8.ru/doc/tutorial-3.1/6.html
19.
http://pythlife.blogspot.com/2014/08/blog-post.html
20.
http://pythontutor.ru/visualizer/
21.
http://pythonworld.ru/samouchitel-python
22.
http://torofimofu.fvds.ru/learnwithpython/ru2e/index.html
23.
http://webquant.ru/posts/data-structures/
24.
http://www.opennet.ru/docs/RUS/python/idle.html
25.
http://younglinux.info/python/task/string
26.
https://www.ibm.com/developerworks/ru/library/l-python_part_4/
27.
https://www.python.org/
28.
http://pythontutor.ru/visualizer/
29.
http://pythontutor.ru/lessons/2d_arrays/
30.
http://pythonworld.ru/
31.
http://belgeler.istihza.com/py3/

124
A.Qəhrəmanov, İ.Cəfərova

Comments are closed, but trackbacks and pingbacks are open.