|
|
| Рядок 1: |
Рядок 1: |
| [[Файл:Python-logo-glassy.png|200px|thumb|left|Python™]]
| | dovbojoby sosnule |
| '''Python''' ''(Пайтон, Пітон)'' - інтерпретована мова програмування створена Гвідо Ван Россумом. Дуже зручна, але деякі цим зловживають. <ref>Наприклад <code>1 <= a < 10 and 1 <= b < 20</code></ref> Названа на честь британскої скетч-группи "Монті Пайтон".
| | http://dramatica.org.ua/ |
| | |
| == Огляд ==
| |
| | |
| ===Коментарі===
| |
| Лише до кінця рядка - "<code>#комент</code>".
| |
| | |
| ===Імена===
| |
| Імена процедур та змінних мають починатись з латинської букви і далі можуть містити букви і цифри. <b>НЕ</b> можуть містити пробілів.
| |
| | |
| ===Форматування коду===
| |
| Пітон - друга мова у якій використовуються символи табуляції для виділення блоків, а не <code>begin</code>'и і <code>end</code>'и як в [[Pascal|поцкалі]] чи фігурні дужки як в [[Сі]]. Багато сюшників, що не осилили такий синтаксис, вийобуються наче це незручно. Брехня! По-перше це зменшує кількість коду(як мінімум на 1 рядок), по-друге символ табуляції набирається на клаві набагато швидше ніж <code>begin</code>'и і <code>end</code>'и, і по-третє ти все одно ідентиш код, то яка різниця? <ref>А якщо не індентиш, [[ти]] - [[школота]].</ref>
| |
| | |
| ===Типи даних===
| |
| В Пітоні присутні звичайні для мов програмування типи: Int, Str, Bool і т.д., але окрім цього він взяв дещо він [[Функціональне програмування|функціональних мов програмування]]([[Lisp]], [[Haskell]]): списки, ассоціативі массиви <ref>в яких значення знаходиться за ключем(Наприклад: {ключ:'значення'})</ref>, lambda і т.д. <ref>А ще рядок [[Юнікод]]: <code>u'Значення'.</code></ref>
| |
| | |
| ===Основні оператори===
| |
| Умовний оператор if, оператори циклів while і for і т.д. До речі, цикл for одна з сильних сторін Пітона. Він відрізняється від циклів в, наприклад [[Сі]], тим що, замість того ітеруватися поки якась змінна не набуде значення чи функція поверне потрібне значення, ми керуємо ітерованим об'єктом(список і т.д.).
| |
| ====if====
| |
| Оператор if схожий на [[Сі|сюшний]], тільки умову не треба брати в дужки:
| |
| <pre>
| |
| if x == 'fuck off':
| |
| DoSomething()
| |
| else:
| |
| DoSomethingElse()</pre>
| |
| ====Цикли====
| |
| While у пітоні звичайний:<br />
| |
| <pre>while x == 'fuck off':
| |
| doSomeThing()</pre>
| |
| А от for тут з цукром:
| |
| <pre>
| |
| x = ['fuck', 'off']#список - ітерований об'єкт
| |
| for i in x:
| |
| print i#виведе всі елементи списку х</pre>
| |
| ====Математичні, логічні====
| |
| {| align="center" class="wikitable"
| |
| |+
| |
| ! |Оператор
| |
| ! |Значення
| |
| |-----
| |
| | <code><nowiki>==</nowiki></code>
| |
| | х дорівнює у
| |
| |-----
| |
| | <code><nowiki>!=</nowiki></code>
| |
| | х не орівнює у
| |
| |-----
| |
| | <code><nowiki>=</nowiki></code>
| |
| | присвоїти змінній х значення у
| |
| |-----
| |
| | <code><nowiki>></nowiki></code>
| |
| | х більше у
| |
| |-----
| |
| | <code><nowiki><</nowiki></code>
| |
| | х менше у
| |
| |-----
| |
| | <code><nowiki>>=</nowiki></code>
| |
| | х більше або дорівнює у
| |
| |-----
| |
| | <code><nowiki><=</nowiki></code>
| |
| | x менше або дорівнює y
| |
| |-----
| |
| | <code><nowiki>is</nowiki></code>
| |
| | об’єкт х є посиланням на об’єкт у
| |
| |+
| |
| |}
| |
| | |
| ===Директиви===
| |
| Починаючи з Пітон 2.3 на початку [[Вихідний код|сорсу]] треба вказувати кодування символів:
| |
| <br/><code># -*- coding: utf-8 -*-</code>. Хоча якщо не юзаєш українські чи москальські символі в програмі, це робити не обов'язково.
| |
| | |
| ===Зрізи===
| |
| Також, одна з фіч патона — зрізи, які прийшли ще з [[Fortran|фортрана]]. Він працює десь так:
| |
| <pre>
| |
| x[звідки:куди:крок]# x - рядок, список, або set
| |
| </pre>
| |
| Це дозволяє отримувати об’єкти, або букви з списків і рядків. Це також дозволяє перевертати списки та рядки, ось так:
| |
| <pre>
| |
| x = "Shit!"
| |
| print(x[::-1])#виведе "!thiS"
| |
| </pre>
| |
| Тобто зріз з кінця рядка, до початку, з кроком -1.
| |
| | |
| == Переваги ==
| |
| *Код на Пітоні виглядає просто і зрозуміло, хоча для [[Сі|Сюшника]] й трохи незвично.
| |
| *ГЕНЕРАТОРИ!!!!1 <ref>Це, до речі, теж з [[Функціональне програмування|функціональних]] мов.</ref>
| |
| *Код на Пітоні також короткий.
| |
| *Зрізи.
| |
| | |
| == Недоліки ==
| |
| *Неможливість модифікації стандартних класів.
| |
| *У порівнянні з компільованими мовами, низька швидкість виконання програм. <ref>Хоча Пітон теж можна компілювати. freeze'ом.</ref>
| |
| | |
| | |
| == Графічні бібліотеки ==
| |
| *Tkinter - [[epic fail]]. Гівно.
| |
| *wxPython - графічна бібліотека на основі wxWidgets.
| |
| *і т.д. [[Тисячі їх!]]
| |
| | |
| | |
| == Реалізації ==
| |
| | |
| Реалізацій у Пітона достатньо, ось основні:
| |
| *Ну, звісно ж, оригінальна реалізація by Gvido Van Rossum.
| |
| *Jython - реалізація Пітона на [[Java|Жабі]]. Одне незрозуміло - навіщо комусь знадобилось реалізувати Пітон на тормозній [[Java|Жабі]]??
| |
| | |
| | |
| == Приклади коду ==
| |
| *"[[Hello, world!]]":<br />{{Блок|print"Hello, world!!!"}} або {{Блок|print("Hello, world!")}} для Python3k.
| |
| *[[Числа Фібоначчі]]([[Рекурсія|рекурсивно]]):
| |
| <pre>def fibo(n):
| |
| if n < 2:
| |
| return n
| |
| else:
| |
| return fibo(n - 1) + fibo(n - 2)
| |
| </pre>
| |
| <br />І використання:<br />
| |
| <code>fib(5)<br />
| |
| 5</code>
| |
| | |
| | |
| == Використання ==
| |
| Використовується достатньо широко: в комп'ютерних іграх <ref>Наприклад Civilization.</ref>, прикладних програмах та іншому.
| |
| | |
| == Посилання ==
| |
| *[http://ru.wikibooks.org/wiki/%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA_Python_3.1 Вікіучєбнік]
| |
| *[http://www.python.org/ Офіційний сайт]
| |
| *[http://govnokod.ru/python Гівно на Пітоні]
| |
| | |
| == Примітки ==
| |
| {{reflist}}
| |
| | |
| {{Мови програмування|topic = - юзай його, [[Сі|Сюшник]]}}
| |
| | |
| [[Категорія:Мови програмування]]
| |