Python: відмінності між версіями
мНемає опису редагування |
MrGALL (обговорення | внесок) м Редагування користувача 95.132.221.35 (обговорення) відкинуті до версії користувача Vox |
||
| (Не показані 11 проміжних версій 4 користувачів) | |||
| Рядок 19: | Рядок 19: | ||
Умовний оператор if, оператори циклів while і for і т.д. До речі, цикл for одна з сильних сторін Пітона. Він відрізняється від циклів в, наприклад [[Сі]], тим що, замість того ітеруватися поки якась змінна не набуде значення чи функція поверне потрібне значення, ми керуємо ітерованим об'єктом(список і т.д.). | Умовний оператор if, оператори циклів while і for і т.д. До речі, цикл for одна з сильних сторін Пітона. Він відрізняється від циклів в, наприклад [[Сі]], тим що, замість того ітеруватися поки якась змінна не набуде значення чи функція поверне потрібне значення, ми керуємо ітерованим об'єктом(список і т.д.). | ||
====if==== | ====if==== | ||
Оператор if схожий на [[Сі|сюшний]], тільки умову не треба брати в дужки:< | Оператор if схожий на [[Сі|сюшний]], тільки умову не треба брати в дужки: | ||
<pre> | |||
if x == 'fuck off': | |||
DoSomething() | |||
else: | |||
DoSomethingElse()</pre> | |||
====Цикли==== | ====Цикли==== | ||
While у пітоні звичайний:<br /> | While у пітоні звичайний:<br /> | ||
< | <pre>while x == 'fuck off': | ||
doSomeThing()</pre> | |||
А от for тут з цукром:< | А от for тут з цукром: | ||
x = ['fuck', 'off']#список - ітерований об'єкт | <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> | |||
| об’єкт х є посиланням на об’єкт у | |||
|+ | |||
|} | |||
===Директиви=== | ===Директиви=== | ||
| Рядок 41: | Рядок 70: | ||
<br/><code># -*- coding: utf-8 -*-</code>. Хоча якщо не юзаєш українські чи москальські символі в програмі, це робити не обов'язково. | <br/><code># -*- coding: utf-8 -*-</code>. Хоча якщо не юзаєш українські чи москальські символі в програмі, це робити не обов'язково. | ||
===Зрізи=== | |||
Також, одна з фіч патона — зрізи, які прийшли ще з [[Fortran|фортрана]]. Він працює десь так: | |||
<pre> | |||
x[звідки:куди:крок]# x - рядок, список, або set | |||
</pre> | |||
Це дозволяє отримувати об’єкти, або букви з списків і рядків. Це також дозволяє перевертати списки та рядки, ось так: | |||
<pre> | |||
x = "Shit!" | |||
print(x[::-1])#виведе "!thiS" | |||
</pre> | |||
Тобто зріз з кінця рядка, до початку, з кроком -1. | |||
== Переваги == | == Переваги == | ||
*Код на Пітоні виглядає просто і зрозуміло, хоча для [[Сі|Сюшника]] й трохи незвично. | *Код на Пітоні виглядає просто і зрозуміло, хоча для [[Сі|Сюшника]] й трохи незвично. | ||
*ГЕНЕРАТОРИ!!!!1 <ref>Це, до речі, теж з [[Функціональне програмування|функціональних]] мов.</ref> | *ГЕНЕРАТОРИ!!!!1 <ref>Це, до речі, теж з [[Функціональне програмування|функціональних]] мов.</ref> | ||
| Рядок 50: | Рядок 89: | ||
== Недоліки == | == Недоліки == | ||
*Неможливість модифікації стандартних класів. | *Неможливість модифікації стандартних класів. | ||
*У порівнянні з компільованими мовами, низька швидкість виконання програм. <ref>Хоча Пітон теж можна компілювати. freeze'ом.</ref> | *У порівнянні з компільованими мовами, низька швидкість виконання програм. <ref>Хоча Пітон теж можна компілювати. freeze'ом.</ref> | ||
| Рядок 70: | Рядок 108: | ||
== Приклади коду == | == Приклади коду == | ||
*"[[Hello, world!]]":<br />{{Блок|print"Hello, world!!!"}} або {{Блок|print("Hello, world!")}} для Python3k. | *"[[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> | 5</code> | ||
Поточна версія на 19:55, 14 червня 2011

Python (Пайтон, Пітон) - інтерпретована мова програмування створена Гвідо Ван Россумом. Дуже зручна, але деякі цим зловживають. [1] Названа на честь британскої скетч-группи "Монті Пайтон".
Огляд
Коментарі
Лише до кінця рядка - "#комент".
Імена
Імена процедур та змінних мають починатись з латинської букви і далі можуть містити букви і цифри. НЕ можуть містити пробілів.
Форматування коду
Пітон - друга мова у якій використовуються символи табуляції для виділення блоків, а не begin'и і end'и як в поцкалі чи фігурні дужки як в Сі. Багато сюшників, що не осилили такий синтаксис, вийобуються наче це незручно. Брехня! По-перше це зменшує кількість коду(як мінімум на 1 рядок), по-друге символ табуляції набирається на клаві набагато швидше ніж begin'и і end'и, і по-третє ти все одно ідентиш код, то яка різниця? [2]
Типи даних
В Пітоні присутні звичайні для мов програмування типи: Int, Str, Bool і т.д., але окрім цього він взяв дещо він функціональних мов програмування(Lisp, Haskell): списки, ассоціативі массиви [3], lambda і т.д. [4]
Основні оператори
Умовний оператор if, оператори циклів while і for і т.д. До речі, цикл for одна з сильних сторін Пітона. Він відрізняється від циклів в, наприклад Сі, тим що, замість того ітеруватися поки якась змінна не набуде значення чи функція поверне потрібне значення, ми керуємо ітерованим об'єктом(список і т.д.).
if
Оператор if схожий на сюшний, тільки умову не треба брати в дужки:
if x == 'fuck off':
DoSomething()
else:
DoSomethingElse()
Цикли
While у пітоні звичайний:
while x == 'fuck off':
doSomeThing()
А от for тут з цукром:
x = ['fuck', 'off']#список - ітерований об'єкт
for i in x:
print i#виведе всі елементи списку х
Математичні, логічні
| Оператор | Значення |
|---|---|
==
|
х дорівнює у |
!=
|
х не орівнює у |
=
|
присвоїти змінній х значення у |
>
|
х більше у |
<
|
х менше у |
>=
|
х більше або дорівнює у |
<=
|
x менше або дорівнює y |
is
|
об’єкт х є посиланням на об’єкт у |
Директиви
Починаючи з Пітон 2.3 на початку сорсу треба вказувати кодування символів:
# -*- coding: utf-8 -*-. Хоча якщо не юзаєш українські чи москальські символі в програмі, це робити не обов'язково.
Зрізи
Також, одна з фіч патона — зрізи, які прийшли ще з фортрана. Він працює десь так:
x[звідки:куди:крок]# x - рядок, список, або set
Це дозволяє отримувати об’єкти, або букви з списків і рядків. Це також дозволяє перевертати списки та рядки, ось так:
x = "Shit!" print(x[::-1])#виведе "!thiS"
Тобто зріз з кінця рядка, до початку, з кроком -1.
Переваги
- Код на Пітоні виглядає просто і зрозуміло, хоча для Сюшника й трохи незвично.
- ГЕНЕРАТОРИ!!!!1 [5]
- Код на Пітоні також короткий.
- Зрізи.
Недоліки
- Неможливість модифікації стандартних класів.
- У порівнянні з компільованими мовами, низька швидкість виконання програм. [6]
Графічні бібліотеки
- Tkinter - epic fail. Гівно.
- wxPython - графічна бібліотека на основі wxWidgets.
- і т.д. Тисячі їх!
Реалізації
Реалізацій у Пітона достатньо, ось основні:
- Ну, звісно ж, оригінальна реалізація by Gvido Van Rossum.
- Jython - реалізація Пітона на Жабі. Одне незрозуміло - навіщо комусь знадобилось реалізувати Пітон на тормозній Жабі??
Приклади коду
|
print"Hello, world!!!" |
або
|
print("Hello, world!") |
для Python3k.
def fibo(n):
if n < 2:
return n
else:
return fibo(n - 1) + fibo(n - 2)
І використання:
fib(5)
5
Використання
Використовується достатньо широко: в комп'ютерних іграх [7], прикладних програмах та іншому.
Посилання
Примітки
Python - юзай його, Сюшник. |
||
|---|---|---|
| Промислові | Ассемблер · Сі · C++ · Lisp · Haskell · Java · Javascript · Поцкаль · Perl · PHP · Python · Ruby · Tcl · Visual Basic | |
| Езотеричні | HQ9+ · INTERCAL · Brainfuck · Befunge · Malbolge · Piet · Spoon · Whitespace | |