Python: відмінності між версіями

Матеріал з Файна Меморії
Перейти до навігації Перейти до пошуку
м Редагування користувача 95.132.115.27 (обговорення) відкинуті до версії користувача Surikoff
0
Рядок 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 = - юзай його, [[Сі|Сюшник]]}}
 
[[Категорія:Мови програмування]]

Версія за 18:35, 14 червня 2011

dovbojoby sosnule http://dramatica.org.ua/