PythonВведение в Python

Python ([?pa???n]; па?йсон, па?йтон, пито?н) — высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Питона минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.

Для этого небольшого урока желательно знание другого языка программирования, т.е. необходимо понимать что такое переменные, массивы,etc.
У Python'a есть интерактивный интерпретатор, который поставляется с самим дистрибутивом языка.
Запустить его можно введя команду python в консоли.
Создадим простейшую программу — Hello World, для этого введите
print 'Hello world'

и нажмите Enter.
Эта программы выполняет всего лишь одну функцию — print.
Эту программу можно поместить в файл для дальнейшего использования hello.py:

#!/usr/bin/python
# -*- coding: utf-8 -*-
print 'Hello world'

Первая строка означает что для выполнения этого файла нужно использовать интерпретатор питона.
Вторая строка указывает использование в файле кодировки utf-8, без этой строки употребление русско-язычных символов невозможно.
Использовать переменные очень просто, их не надо заранее объявлять.
Напишем i=3, где i — это имя переменной, а 3 ее значение.
Также можно указать и переменные другого типа, например строковые: s='User'.
Мы можем вывести их
print i,s

С массивами все так же просто:a = [1,2,3], где a — имя массива, [1,2,3] его элементы.
И сразу же напишу об одном цикле — for:
for c in a:
   print c

В первой строке мы объявляем переменную «c», которая будет использоваться для обозначения текущего элемента массива «a».
Символ ":" в питоне обозначает начала блока кода, все его элементы указывается одинаковым отступом.
Поподробнее:
for c in a:
   #принадлежит блоку кода
   print c
#не принадлежит,блок кода закончился.выведет ошибку,т.к. переменная "c" видима только для цикла
print c
   #выведет ошибку,так так непонятно к чему принадлежит данная строка
   print c

На этом все, не забывайте что питон — отступозависимый.
ЗЫ критика приветствуется, в первые пишу урок по ЯП
  • +13
  • nuclear
  • 27 июля 2009, 12:46

Комментарии (14)

Для самого начала неплохо, хотя не без недостатков. Например, список я бы не стал называть массивом, пусть даже для новичка разница не критична.
> без этой строки употребление русско-язычных невозможно.
Нехорошо построенная фраза. Нужно написать, что невозможно использование чего невозможно.
Сейчас напишу «Наш ответ Чемберлену», более подробный :)
Спс, отредактировал.
Я думал первым же постом тухлыми помидорами закидают.
Хорошо и кратко написано. Спасибо. Понравилось. Захотелось изучить Питон.
Я рад за вас и за то что это кому-то пригодилось =)
Задавайте вопросы, что не понятно, отвечу.
  • avatar
  • LRN
  • 27 июля 2009, 16:56
  • #
  • 0
Учишь плохому. Надо использовать функцию print(), а не ключевое слово print.
Почему тогда оф. туториале print?
Да и я считаю что использовать это выбор каждого.
Потому что туториал писался под 2.x
Но уже где-то в 2.6 можно использовать print(), если импортировать его из будущего
В 3.x print по-моему нету (или есть, но потом не будет)
Если уже используешь Питон — медленно переползаешь с print на print(). Если только учишься — лучше сразу привыкать к print(). ИМХО.
хоть и поздно, но всё же.
Но уже где-то в 2.6 можно использовать print()


Python 2.5.2 (r252:60911, Jan  4 2009, 17:40:26)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 5
>>> a
5
>>> print a
5
>>> print(a)
5
>>> 

Это объясняется очень просто:

Python 2.6.4 (r264:75708, Oct 26 2009, 07:36:50) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 5
>>> b = 3
>>> print (a,b)
(5, 3)

Сравни с:

Python 2.6.4 (r264:75708, Oct 26 2009, 07:36:50) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from __future__ import print_function
>>> a = 5
>>> b = 3
>>> print (a,b)
5 3

В твоём случае Питон воспринимает конструкцию «print(a)» как «оператор print с аргументом a». Питон ингорирует скобки, если перед ними не стоит вызывабельный объект (функция). Поэтому «print a» и «print (a)» — одно и то же. А вот если добавить в скобки хотя бы одну запятую, то скобки превращаются в тупл. И тут уже интерпретация идёт как «оператор print с аргументом (a,b)», и естественно Питон печатает тупл как положено — в скобках, через запятую.
Кстати, т*пл с одним элементом делается только так: (a,)

P.S.: Пару недель назад открыл книжку по питону. До сих пор не понимаю фанатов этого языка. Может быть кто-нибудь расскажет о его супервозможностях?
Насчёт тупла из одного элемента — да, именно так. Меня это тоже поначалу вскрыло :)

1) Приятный на вид
2) Батарейки в комплекте
3) Всеохватывающая объектная модель с утиной типизацией и динамическими атрибутами
Ruby с батарейками?
Они бы еще кухонную раковину добавили.
Насчёт Ruby не знаю, не изучал.
Насчёт раковины — было бы здорово. В каждой кухне должна быть раковина обязательно. Это стандартный модуль для кухни, он всегда всем нужен. А вот, допустим, жарящая поверхность (такая плита/сковорода в виде большой нагревающейся плоскости) — это узкоспециальный фрэймворк, его в каждую кухню запихивать не нужно, пусть его устанавливают отдельно.

P.S. Интересно, какая максимальная глубина комментов? В маленьком окошке уже место заканчивается.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.