Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Python
Перезагрузить страницу Год Питона, говорят)))
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию Год Питона, говорят))) - 06.01.2012, 17:51

Цитата:
Сообщение от gromozeka Посмотреть сообщение
Подумал, может тут тему замутить с уроками языков для начинающих? Безвозмездно, разумеется.
Помощь в установке среды разработки до написания первого хелловорлда.
Помощь с выбором учебника, с объяснением трудных моментов, ответами на все вопросы, даже самые глупые, с "домашними заданиями" и т.д.
Бобо, хотите? Могу научить основам Питона довольно быстро, опыт большой.
Бобо не хочет, кажется. Я хочу. Первый глупый вопрос: Куда смотреть?
Ответить с цитированием
  (#2 (permalink)) Старый
Кошмар Кошмар вне форума
Member
 
Сообщений: 2,694
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 23.04.2005
По умолчанию 07.01.2012, 11:06

Что значит - куда смотреть?
В шапке этого раздела висит тема с большущим списком ресурсов о питоне.
Ответить с цитированием
  (#3 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
По умолчанию 07.01.2012, 11:39

1) Установите последний Питон 2ой версии http://python.org/ftp/python/2.7.2/python-2.7.2.msi
2) Создайте где-нибудь файл с расширением py, кликните на него правой кнопкой, выберите "Open with IDLE"
3) Откроется два окна, одно - текстовый редактор, второе - коммандная строка. В текстовом редакторе наберите
python Код:
print "Hello world"
и нажмите F5.
Если в экране с коммандной строкой появилась эта фраза, значит установилось нормально.
Когда установите, скажите, расскажу дальше
Ответить с цитированием
  (#4 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 07.01.2012, 11:58

Цитата:
Сообщение от gromozeka Посмотреть сообщение
3) Откроется два окна, одно - текстовый редактор, второе - коммандная строка.
Во, интересно.
А у меня открылось одно окно - редактора. А второе окно появляется после кнопочки F5.
Посмотрел доки вкратце - совсем некисло.
Ответить с цитированием
  (#5 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
По умолчанию 07.01.2012, 12:02

Это в Options-> Configure IDLE -> General -> At Startup настраивается, видимо в этой версии убрали открытие шелла по умолчанию. Если так, то правильно сделали .
Вообще шелл должен быть Вам хорошо знаком по стандартным Прологам, это просто интерактивный режим.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 07.01.2012, 12:06

Я тоже думаю, что правильно сделали. Нафиг оно нужно до запуска.
Ответить с цитированием
  (#7 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
По умолчанию 07.01.2012, 12:06

Да отключить его всегда можно было . Вообще IDLE это не идеальный вариант, для Питона есть куча сред разработки, моды для эклипса и вижуал студио, всякие отдельные IDE, некоторые даже с рисованием формочек аля VB/Delphi/VIP, IDLE просто для начала вполне сойдёт.

Винитарх, а можете по последнему ВИПу сделать ликбез для совсем ленивых? У меня в кои веки винда стоит и на работе и дома
Ответить с цитированием
  (#8 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
По умолчанию 07.01.2012, 12:45

Дальше про работу с шеллом. Шелл - это палитра, в нём можно делать абсолютно всё, но в интерактивном режиме (такая же штука есть в стандартных прологах).
python Код:
>>> 2+2
4
>>> s="Hello"
>>> s[0]
'H'
>>> s[1]
'e'
>>> s.upper()
'HELLO'
>>> dir(s)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
>>> help(s.upper)
Help on built-in function upper:

upper(...)
    S.upper() -> string
   
    Return a copy of the string S converted to uppercase.

>>> def f(a,b):return a+b

>>> f(1,2)
3
>>> f([1,2],[3,4])
[1, 2, 3, 4]
>>> f("hello ","world")
'hello world'
Обратите особое внимание на комманды dir и help.
dir позволяет заглянуть внутрь объекта или модуля и посмотреть что он умеет.
help позволяет прочитать встроенную документацию по объектам, модулям, функциям и т.д.
Ответить с цитированием
  (#9 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 07.01.2012, 13:16

Ууууууууууу, Шайтан!!!
Ответить с цитированием
  (#10 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 07.01.2012, 13:49

Ну и для строк эта же функция:
python Код:
>>> f("ert","uu")
'ertuu'
Да. Принцип шелла как и в SWI, да и вообще в интерпретаторах.
Ответить с цитированием
  (#11 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 07.01.2012, 15:38

Цитата:
Сообщение от gromozeka Посмотреть сообщение
>>> def f(a,b):return a+b
Пробовал с вычитанием, умножением. Просто интересно было. Ответ отрицательный.

Да, gromozeka, ждём что там дальше. Библиотеку модулей я посмотрел, особенно про строки - там в принципе всё понятно. Интересней чисто языковые фичи - конструкции.

p.s. Переместил сообщения про VIP и книги о нём в проложный форум, по просьбе aag.
Ответить с цитированием
  (#12 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 07.01.2012, 18:57

Python Код:
>>> 10^5
15
Гм...





Цитата:
| __div__(...)
| x.__div__(y) <==> x/y
Но ругается
Python Код:
>>> 100.__div__(3)
SyntaxError: invalid syntax
Ответить с цитированием
Ads
  (#13 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
По умолчанию 07.01.2012, 19:18

Цитата:
Да. Принцип шелла как и в SWI, да и вообще в интерпретаторах.
Угу. Так называемый цикл REPL (Read Evaluate Print Loop).
Цитата:
Пробовал с вычитанием, умножением. Просто интересно было. Ответ отрицательный.
С умножением есть вот такая фишка:
python Код:
>>> [1,2,3]*5
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> "Hello"*5
'HelloHelloHelloHelloHello'
python Код:
>>> 10^5
15
Крышечка в Питоне - это xor. 1010 xor 101 = 1111
Возведение в степень - **
python Код:
>>> 10**5
100000
Цитата:
__div__(...)
Вот так будет работать
python Код:
>>> x=100
>>> x.__div__(5)
20
В Питоне нет приватных методов, но есть соглашение, что всё что начинается с подчёркивания - это внутренняя кухня и лезть в неё не надо (есть исключения, которые потом покажу, если хотите сейчас посмотреть, гляньте пример с логгером, который я показывал Бобо в СКЯП).
Чуть позже (очень постараюсь сегодня) выложу следующую порцию, сейчас жутко занят, сорри :(
Ответить с цитированием
  (#14 (permalink)) Старый
aag aag вне форума
ушёл... не вернётся)))
 
Сообщений: 3,400
Сказал(а) спасибо: 0
Поблагодарили 82 раз(а) в 82 сообщениях
Регистрация: 29.11.2008
По умолчанию 07.01.2012, 19:56

Ясьненько...
Ответить с цитированием
  (#15 (permalink)) Старый
gromozeka gromozeka вне форума
Флудер
 
Аватар для gromozeka
 
Сообщений: 3,170
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 15 сообщениях
Регистрация: 28.02.2005
Адрес: Израиль
По умолчанию 07.01.2012, 22:47

Так, немножко времени появилось. Хочется побыстрее закончить с базой и перейти к чему-нибудь интересному. Поэтому вкратце.

Блоки.
В Питоне нет фигурных скобок как в языках с синтаксисом С, нет и begin-end как в языках с синтаксисом паскаля. Блоки выделяются идентацией.
Это относится к классам, к функциям, к циклам, к условиям, к обработке исключений (может забыл что-то, но мысль ясна).
В других языках выделение блоков идентацией считается хорошим стилем, здесь создатель языка Гвидо ван Россум сделал его частью синтаксиса, чем породил множество холиваров.

Циклы.
python Код:
for element in iterable:
    code_block
цикл for умеет перебирать элементы чего-либо итерабельного, буквы в строке, элементы в списке, числа в диапазоне, строки в текстовом файле и т.д. и т.п. Так же можно перебирать элементы генератора (в СКЯП совсем недавно приводил пример генератора чисел Хэмминга, его тоже можно перебирать при помощи for).
python Код:
>>> for i in "hello": print i
h
e
l
l
o
>>> for i in [1,2,3,4]:print i
1
2
3
4
Отдельного цикла перебирающего числа (вроде бейсиковского или паскалевского for) в Питоне нет. Есть xrange, диапазон - ленивая конструкция, генерирующая числа, получающая три параметра - начало, конец и шаг. Начало и шаг можно опустить (1 параметр - конец, 2 - начало и конец, 3 - начало, конец и шаг). Важный момент - конец не включен! Кроме xrange есть так же range, он получает те же параметры, но в отличие от xrange создаёт в памяти настоящий список.
python Код:
>>> for i in xrange(5):
    print i
0
1
2
3
4
>>> for i in xrange(5,11):print i
5
6
7
8
9
10
>>> for i in xrange(5,11,3):print i
5
8
>>> for i in xrange(11,5,-2):print i
11
9
7
python Код:
>>> l=range(10)
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l=xrange(10)
>>> l
xrange(10)


python Код:
while expression:
    code_block
тут всё просто, выполняем пока значение выражения - True.
python Код:
>>> i=0
>>> while(i<5):
    print i
    i+=1
0
1
2
3
4
есть инструкции break и continue, их семантика такая же как в других императивных языках. break выходит из текущего цикла, continue "силой" переходит к следующей итерации текущего цикла.
python Код:
>>> for i in xrange(100):
    print i
    if i==5:break
   
0
1
2
3
4
5

python Код:
>>> for i in xrange(10):
    if i%2==0: continue
    print i
   
1
3
5
7
9


скоро продолжу.

Последний раз редактировалось gromozeka; 07.01.2012 в 23:46
Ответить с цитированием
Пользователь сказал cпасибо:
AD (10.01.2012)
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти ошибку(и) - говорят, что должно работать... wampu Prolog 7 02.08.2007 09:32
О нашем форуме говорят... Винитарх Prolog 6 29.05.2006 20:02



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов