Python
- Русское название:
- Пайтон (чаще Питон)
- Дата создания:
- 1990
- Создан под влиянием:
- Повлиял на:
- Парадигма:
- Типизация:
- Принятые расширения файлов:
- .py, .pyc, .pyo
- Реализации и версии (свернуть все | развернуть все):
Интерпретируемый объектно-ориентированный язык программирования высокого уровня с динамической типизацией, автоматическим управлением памятью и удобными высокоуровневыми структурами данных, такими как словари (хэш-таблицы), списки, кортежи. Поддерживает классы, модули (которые могут быть объединены в пакеты), обработку исключений, а также многопоточные вычисления. Питон обладает простым и выразительным синтаксисом. Язык поддерживает несколько парадигм программирования: структурное, объектно-ориентированное, функциональное и аспектно-ориентированное.
Философия языка:
- Красивое лучше уродливого.
- Явное лучше неявного.
- Простое лучше сложного.
- Сложное лучше усложнённого.
- Последовательное лучше вложенного.
- Разрежённое лучше, чем плотное.
- Удобочитаемость существенна.
- Частные случаи не настолько существенны, чтобы нарушать правила.
- Однако практичность важнее регулярности.
- Ошибки никогда не должны умалчиваться.
- Если явно не указано — умалчивать.
- В случае неоднозначности сопротивляйтесь искушению угадать.
- Должен существовать один — и, желательно, только один — очевидный способ.
- Хотя он может быть с первого взгляда неочевиден, если ты не голландец (намёк на Гвидо ван Россума)
- Сейчас — лучше, чем никогда.
- Но никогда — часто бывает лучше, чем прямо сейчас.
- Если реализацию идеи тяжело объяснить, она плоха.
- Если реализацию идеи легко объяснить, она может быть хороша.
- Пространства имён — великолепная идея, их должно быть много!
(описание взято из Википедии)
Элементы синтаксиса:
Комментарий до конца строки | # |
---|---|
Регистрозависимость | да |
Регулярное выражение идентификатора переменной | [_a-zA-Z][_a-zA-Z0-9]* |
Присваивание значения переменной | = |
Объявление переменной | variable |
Объявление переменной с присваиванием значения | variable = value |
Группировка выражений | ( ... ) |
Блок | блоки выделяются отступами (пробелы или табуляции) |
Равенство | is |
Неравенство | is not |
Тождественное равенство | == |
Тождественное неравенство | != <> |
Сравнение | < > <= >= cmp |
Определение функции | def f(p1, p2, ...): ... |
Вызов функции | f(a, b, ...) |
Вызов функции без параметров | f() |
Последовательность | ; или конец строки |
Если - то | if condition: ... |
Если - то - иначе | ... if condition else ... |
Бесконечный цикл | while True: |
Цикл с предусловием | while condition : ... |
Цикл for - next для диапазона целых чисел с инкрементом на 1 | for i in xrange(1, 11, 1) или for i in xrange(1, 11) |
Цикл for - next для диапазона целых чисел с декрементом на 1 | for i in xrange(10, 0, -1) |
Ссылки:
Примеры:
Hello, World!:
Пример для версий Python 2.xprint "Hello world"
Hello, World!:
Пример для версий Python 3.xprint ("Hello, world!")
Квадратное уравнение:
Пример для версий Python 2.6.5import math
import sys
A = float(raw_input("A = "))
if A == 0:
print "Not a quadratic equation"
sys.exit()
B = float(raw_input("B = "))
C = float(raw_input("C = "))
D = B * B - 4 * A * C
if D == 0:
print "x =", -B / 2.0 / A
sys.exit()
if D > 0:
print "x1 =", (-B + math.sqrt(D)) / 2.0 / A
print "x2 =", (-B - math.sqrt(D)) / 2.0 / A
else:
print "x1 = (", -B / 2.0 / A, ",", math.sqrt(-D) / 2.0 / A, ")"
print "x2 = (", -B / 2.0 / A, ",", -math.sqrt(-D) / 2.0 / A, ")"
CamelCase:
Пример для версий Python 2.6.5Используются функции стандартной библиотеки translate
и title
.
Для функции title
все не-буквы считаются разделителями слов, так что нет необходимости предварительно заменять их пробелами.
non_letters = ''.join(c for c in map(chr, range(256)) if not c.isalpha())
def camel_case(s):
return s.title().translate(None, non_letters)
print camel_case(raw_input())
Факториал:
Пример для версий Python 2.6.5Используется итеративный способ вычисления факториала.
def factorial(n):
if n == 0:
return 1
f = 1
for i in range(1, n + 1):
f *= i
return f
for n in range(16 + 1):
print "%d! = %d" % (n, factorial(n))
Факториал:
Пример для версий Python 2.6.5Используется рекурсивное определение факториала.
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n - 1)
for n in range(16 + 1):
print "%d! = %d" % (n, factorial(n))
Числа Фибоначчи:
Пример для версий Python 2.6.5Используется рекурсивное определение чисел Фибоначчи.
def fibonacci(n):
if n < 3:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
for n in range(1, 16 + 1):
print "%i," % fibonacci(n) ,
print "..."
Факториал:
Пример для версий Python 3.xИспользуется функциональное определение факториала.
import functools
factorial = lambda n: functools.reduce(lambda a, b: a * b, range(1, n + 1), 1)
for n in range(16 + 1):
print "%d! = %d" % (n, factorial(n))
Комментарии
]]>blog comments powered by Disqus
]]>