#401From:Sergey Dorofeev
To:All
Date:01-04-2020 00:00:05
Subj:Ресурсы
Русскоязычные ресурсы в интернете

http://ru-python.livejournal.com/
****://******.*****/
****://******.*****/
*****://******.*****.com/communities/103624658452637344893
****://******.*****/

Присылайте интересные ссылки модератору, будем пополнять список.

Фидо на питоне
*****://******.*****/larsks/python-ftn/wiki
*****://******.*****/fidoman/PyFTN
Jam headers ****://******.*****.nl/fmail/files/jhrprint.py

--- PyFTN
* Origin: fluid.fidoman.ru (2:5020/12000)
SEEN-BY: 50/109 455/19 463/68 466/50 467/888 5000/111 5001/100 5005/49 5015/46
SEEN-BY: 5020/77 290 570 620 715 830 846 921 1042 1519 1955 2047 2140 4441
SEEN-BY: 5020/12000 5023/24 5030/115 5034/13 5050/57 5053/54 5054/8 89 5064/54
SEEN-BY: 5064/56 5075/128 5080/68 102 5083/1 444 5097/31 6056/1 6090/1 14
PATH: 5020/12000 715 1042 6090/1
#402From:Denis Mosko
To:Sergey Dorofeev
Date:02-04-2020 22:32:02
Subj:Re: Ресурсы
Привет, Sergey!

Который месяц здесь нет изменеиий. Советуют посмотреть *****://******.*****.google.com/notebooks/intro.ipynb . На что обратить внимание?


С уважением - Denis
--- GoldED+/W32-MINGW 1.1.5-b20120519 (Kubik 3.0)
* Origin: В начале было слово. В конце будет ориджин. (2:5064/54.1315)
SEEN-BY: 50/109 455/19 463/68 466/50 5000/111 5001/100 5005/49 5015/46
SEEN-BY: 5020/620 715 830 846 1042 2047 2140 4441 5030/115 5050/57 5053/54
SEEN-BY: 5054/8 89 5064/54 56 5080/68 102 5083/1 444 6090/1 14
PATH: 5064/54 5020/1042 6090/1
#403From:Denis Mosko
To:All
Date:25-04-2020 22:16:22
Subj:Example
Привет, All!

# Program For tea-pot
print('WHISPER DOG FOOD')
for i in range(10):
i = 5
print('IS GOOD AND')
for i in range(10):
print(i)
i = 5
print('MEALY AND CHEAP.')
for i in range(10):
print(i)
i = 5
print('IT HAS LOTS OF VITAMINS,')
for i in range(10):
print(i)
i = 5
print('LOTS OF BOUNCE')
for i in range(10000000):
i = 5000000
print('AND SEND YOUR DOG TO SLEEP')
for i in range(10):
print(i)
i = 5



How to change program with BASIC's "GOSUB"-operator?

--- GoldED+/W32-MINGW 1.1.5-b20120519 (Kubik 3.0)
* Origin: ;) (2:5064/54.1315)
SEEN-BY: 50/109 455/19 463/68 466/50 467/888 5000/111 5001/100 5005/49 5015/46
SEEN-BY: 5020/715 830 846 1042 2047 2140 4441 5030/115 5050/57 5053/54 5054/8
SEEN-BY: 5054/89 5064/54 56 5080/68 102 5083/1 444 6090/1 14
PATH: 5064/54 5020/1042 6090/1
#404From:Vitold Sedyshev
To:Denis Mosko
Date:28-04-2020 00:32:04
Subj:RE: Example

DM> How to change program with BASIC's "GOSUB"-operator?

GOSUB jumps to a subroutine at the indicated label. This call is placed onto the stack. The subroutine finalizes using a RETURN command.
You may provide GOSUB equivalent on Python by function. See more on *****://******.*****.com/python/python_functions.asp

Let's I show you how to use OOP with refactor you simple example.


```
class Application(object):
""" Program For tea-pot
"""

def __init__(self):
pass


def step1(self):
print('WHISPER DOG FOOD')
for i in range(10):
pass
#i = 5

def step2(self):
print('IS GOOD AND')
for i in range(10):
print(i)
#i = 5

def step3(self):
print('MEALY AND CHEAP.')
for i in range(10):
print(i)
#i = 5

def step4(self):
print('IT HAS LOTS OF VITAMINS,')
for i in range(10):
print(i)
#i = 5

def step5(self):
print('LOTS OF BOUNCE')
for i in range(10000000):
pass
#i = 5000000

def step6(self):
print('AND SEND YOUR DOG TO SLEEP')
for i in range(10):
print(i)
#i = 5

def run(self):
self.step1()
self.step2()
self.step3()
self.step4()
self.step5()
self.step6()


if __name__ == "__main__":
app = Application()
app.run()
```

As you can see in source below I split you code on steps and you may reuse pice of code simple by invoke ```self.stepN()``` a few times.

Or you try to broke Python virtual machine by change ```i``` variable?

I think that in that case you should make you own mutable iterator with state. But no idea why you does not use ```while``` statement.


--- Golden/Linux-amd64 1.2.12 2020-04-24 04:20 MSK (master)
* Origin: Yo Adrian, I Did It! (c) Rocky II (2:5030/1081.102)
SEEN-BY: 50/109 455/19 463/68 466/50 467/888 4500/1 5000/111 5001/100 5005/49
SEEN-BY: 5015/46 5019/40 42 5020/715 830 846 848 1042 2047 2140 4441 5022/128
SEEN-BY: 5030/115 1081 5050/57 5053/54 5054/8 89 5064/54 56 5080/68 102 5083/1
SEEN-BY: 5083/444 6090/1 14
PATH: 5030/1081 5020/4441 1042 6090/1
#405From:Sergey Dorofeev
To:All
Date:01-05-2020 00:00:03
Subj:Rules of RU.PYTHON
Правила эхоконференции RU.PYTHON

1. Тематика.
Эха посвящена одному из самых мощных на сегодняшний день интерпретируемых
языков программирования - Python. В этой эхе обсуждаются новости разработок,
тенденции развития языка, особенности использования в различных областях,
сам язык и его стандартные библиотеки, различные библиотеки расширения -
прикладные и системные и многое другое. Также эхоконференция предназначена
для обмена личным опытом использования Python и публикации текстов программ.
При желании подписчиков и по согласованию с модератором может быть настроен
постинг сообщений из форумов, списков рассылки и конференций, посвящённых
Питону.

2. Распространение.
Конференция может свободно распространяться по сети Fidonet.
Гейтование в другие сети возможно, если при этом не нарушаются никакие
пункты данных правил.

3. Доступ.
Помещать сообщения в эху могут все узлы сети FidoNet, их поинты,
пользователи BBS и участники сетей, в которые гейтуется эта конференция.
Оператор BBS или гейта должен проследить за тем, чтобы в исходящих с его
системы письмах был корректный обратный адрес для связи нетмейлом с
отправителем.

4. Требования к форме сообщений.
Текст сообщения должен быть в кодировке CP866.
Текст сообщения должен быть на русском языке. При помещении текстов на
других языках их необходимо сопровождать русским переводом. Тексты на
английском языке допускается постить без перевода.
При использовании псевдонима желательно указание реального имени в кладже
RealName. Указание чужого имени в кладже RealName недопустимо. Крайне
нежелательно использование в качестве псевдонима реального имени кого-то из
подписчиков. Использование матерных слов в этой конференции неуместно.
Цитирование кладжей и темплейта не допускается.
Hежелательно цитирование более двух уровней ответов или более 7 строк в
одном блоке квоты, если это не необходимо для понимания смысла письма.
Размер сообщения не должен превышать 31 килобайт.
Hе рекомендуется постинг сообщений объёмом больше 64 килобайт за сутки.
Hе рекомендуется использовать пользовательские кладжи, приветствие, подпись
в суммарном объёме больше семи строк.

5. Постинг текстовых и кодированных файлов.
Постинг сообщений с вставленными текстовыми файлами и кодированными данными
допускается в пределах, установленных для обычных сообщений. Способ
кодирования должен позволять произвести полное раскодирование любому
подписчику с использованием только общедоступных бесплатных утилит.

6. Постинг коммерческих сообщений.
Постинг коммерческой и некоммерческой рекламы допускается, если она имеет
отношение к языку Python (книги, диски, конференции или что-то другое).

7. Модерирование.
За соблюдением данных правил следят модератор и комодераторы. Правила
постятся модератором ежемесячно.
Модератор и комодератор при нарушении правил могут делать предупреждение
нарушителю ([*] - предупреждение, [+] - строгое предупреждение) или
производить перевод его в режим только-чтение ([!]). При игнорировании
модераториалов к нарушителю принимаются меры согласно эхополу.
Модератор может отменять вынесенные предупреждения и отключения, если они
были сделаны достаточно давно.
Модератор имеет право вносить изменения в правила.
В случае исчезновения модератора из нодлиста, модерирование производится
комодераторами. При отсутствии модератора более года, эхокоординатор
назначет в конференции выборы для определения нового модератора.

Модератор эхоконференции - Sergey Dorofeev, 2:5020/12000

--- PyFTN
* Origin: fluid.fidoman.ru (2:5020/12000)
SEEN-BY: 50/109 455/19 463/68 466/50 467/888 5000/111 5001/100 5005/49 5015/46
SEEN-BY: 5020/77 570 715 830 846 921 1042 1519 1955 2047 2140 4441 12000
SEEN-BY: 5023/24 5030/115 5034/13 5050/57 5053/54 5054/8 89 5064/54 56
SEEN-BY: 5075/128 5080/68 102 5083/1 444 5097/31 6056/1 6090/1 14
PATH: 5020/12000 715 1042 6090/1
#406From:Sergey Dorofeev
To:All
Date:01-05-2020 00:00:03
Subj:Ресурсы
Русскоязычные ресурсы в интернете

http://ru-python.livejournal.com/
****://******.*****/
****://******.*****/
*****://******.*****.com/communities/103624658452637344893
****://******.*****/

Присылайте интересные ссылки модератору, будем пополнять список.

Фидо на питоне
*****://******.*****/larsks/python-ftn/wiki
*****://******.*****/fidoman/PyFTN
Jam headers ****://******.*****.nl/fmail/files/jhrprint.py

--- PyFTN
* Origin: fluid.fidoman.ru (2:5020/12000)
SEEN-BY: 50/109 455/19 463/68 466/50 467/888 5000/111 5001/100 5005/49 5015/46
SEEN-BY: 5020/77 570 715 830 846 921 1042 1519 1955 2047 2140 4441 12000
SEEN-BY: 5023/24 5030/115 5034/13 5050/57 5053/54 5054/8 89 5064/54 56
SEEN-BY: 5075/128 5080/68 102 5083/1 444 5097/31 6056/1 6090/1 14
PATH: 5020/12000 715 1042 6090/1
#407From:Nil Alexandrov
To:Yevgeny Zolotnitsky
Date:02-05-2020 20:17:28
Subj:perl, python, ..
* Originally in nino.046.local
* Crossposted in ru.perl
* Crossposted in ru.python

Hello, Yevgeny!

Saturday May 02 2020 01:06, from Yevgeny Zolotnitsky -> Nil Alexandrov:

YZ> Я вот хоть не пограмист, но в какие-то скрипто-языки интересуюсь по
YZ> верхам, чтобы читать код уметь. И меня натурально добивает именно
YZ> мода, что сейчас "все носят двухбортный", т.е. на питоне лабают. А
YZ> "однобортный", который на перле -- уже фу-фу-фу. Хотя решают одни и
YZ> теже задачи.

Как у нас говорят, "horses for courses" (эх тупой гугл траслейт).
> An allusion to the fact that a racehorse performs best on a racecourse to
> which it is specifically suited.
Вера в то что, что скаковая лошадь лучше всего выступает на ипподроме, для которого она специально предназначена.

Кароч, дело было так. Был типичный юникс сисадмин, тот, что с бородой, а не как виндовзный гладко выбритый [unix_vs_windows_admin.jpg], и не тот, что мышкой в виндовзе двигает MCSA (Microsoft Certified Systems Administrator), а прям натурально сидит в текстмоде, и все свои рутинные операции по максимуму автоматизирует с помощью шел скриптов. Шел скрипты - это такие комбинации из grep, sed, awk,.. через пайп прописанные. И родился тогда скриптовый язык перл, и совместил он в себе все эти grep+sed+awk и был заточен под парсенье текстовых логов, читай регекспы, и прочей сисадминской рутины, типа завести нового юзверя, прописал его в разных файлах. Но мир не стоял на месте, и стало модно-молодёжно пейсать не процедурно, а объетко-ориентировано (орфография сохранена). А так как питон изначально был "птичьим языком", типа нажимаешь шифт и по всем цифиркам пальцем туда-сюда [~!@#$%^&*()(*&^%$#@!~], вот так он примерно выглядит, то добавление ООП к перлу стало не читаемым от слова совсем.

Питон изначально разрабатывался как функциональный, так и ООП. Синтаксис у него без всех этих @#$->&%, и даже ; не надо ставить в конце строки, и даже говно-код вынужден быть выровнен из-за блоков, что придаёт читаемости. На этом месте адепты ООП закидают питон тухлыми помидорами, ведь ни с того ни с сего тип объекта может меняться на ходу, но это и его плюс/минус питона, в его динамической типизации. Кстати, есть всякие рестриктыд-питон синтаксисы, читай подмножество языка, когда нельзя походу действия менять тип для одной и той же переменной, и тогда такой "кастрированный" питон легко транслируется из-языка-в-язык, например, в C++ или просто JIT на этом участке кода ускоряется в стопицот раз, если мы использует pypy.

В последнее время питон, кроме написания скриптов так таковых, стал использоваться как R&D тул всякими ресёрчерами (умные дядьки с магистратурами), которые на нём могут что-то попрототипировать, покрутить туда-сюда и всё это с минимальным количеством строк кода. Как это стало возможным? Всё благодаря обёрткам вокруг C++ кода/библиотек. Получается, что ты пишешь одну/две строчки взять данные по такому-то URL (пример urllib, код работает быстро со скоростью C), второй строчкой парсим XML/JSON/.. тоже C библиотечным вызовом, а дальше скармливаем нашей статистической модели или нейронке, библиотек для (глубокого) машинного обучения (мы в шутку называет deep shit learning), и, пальцем в небо (но с умным выражением лица), прогнозируем когда закончится карантин, сколько будет стоить акции, когда доллару хана, и прочее прочее. Естесссно, что на перле этого всего не завезли, и это хорошо.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
* Origin: -=NIL BBS=- (2:5015/46)
SEEN-BY: 50/109 455/19 463/68 466/50 467/888 5000/111 5001/100 5005/49 53
SEEN-BY: 5015/46 61 255 5020/715 830 846 1042 2047 2140 4441 5030/115 5050/57
SEEN-BY: 5053/54 5054/8 89 5064/54 56 5080/68 102 5083/1 444 6090/1 14
PATH: 5015/46 5020/1042 6090/1
#408From:Denis Mosko
To:Vitold Sedyshev
Date:03-05-2020 18:58:01
Subj:RE: Example
Hello, Vitold!

Это записать в file.py: ?
VS> ```
VS> class Application(object):
VS> """ Program For tea-pot
VS> """

VS> def __init__(self):
VS> pass


VS> def step1(self):
VS> print('WHISPER DOG FOOD')
VS> for i in range(10):
VS> pass
VS> #i = 5

VS> def step2(self):
VS> print('IS GOOD AND')
VS> for i in range(10):
VS> print(i)
VS> #i = 5

VS> def step3(self):
VS> print('MEALY AND CHEAP.')
VS> for i in range(10):
VS> print(i)
VS> #i = 5

VS> def step4(self):
VS> print('IT HAS LOTS OF VITAMINS,')
VS> for i in range(10):
VS> print(i)
VS> #i = 5

VS> def step5(self):
VS> print('LOTS OF BOUNCE')
VS> for i in range(10000000):
VS> pass
VS> #i = 5000000

VS> def step6(self):
VS> print('AND SEND YOUR DOG TO SLEEP')
VS> for i in range(10):
VS> print(i)
VS> #i = 5

VS> def run(self):
VS> self.step1()
VS> self.step2()
VS> self.step3()
VS> self.step4()
VS> self.step5()
VS> self.step6()


VS> if __name__ == "__main__":
VS> app = Application()
VS> app.run()
VS> ```

Cпасибо за ответ.

С наилучшими пожеланиями, Denis Mosko.

--- wfido
* Origin: :) (2:5023/24.1315)
SEEN-BY: 50/109 455/19 463/68 466/50 467/888 5000/111 5001/100 5005/49 5015/46
SEEN-BY: 5020/290 570 715 830 846 921 1042 1519 2047 2140 4441 12000 5023/12
SEEN-BY: 5023/24 5028/68 5030/115 1997 5034/13 5050/57 5053/54 5054/8 89
SEEN-BY: 5064/54 56 5075/128 5080/68 102 5083/1 444 6056/1 6090/1 14
PATH: 5023/24 5020/715 1042 6090/1
#409From:Vitold Sedyshev
To:Denis Mosko
Date:07-05-2020 03:41:05
Subj:RE: RE: Example

DM> Это записать в "file.py" ?

Вообще на мой взгляд лучше использовать какие-то сразу понятные названия
Я бы назвал этот файл "example_01.py", так как он явно относиться к примерам,
а имена вроде file может ты модуль какой-то решил написать работы с файлами.

Вообще что-то было в PEP8 про названия файлов и модулей.



--- Golden/Linux-amd64 1.2.12 2020-04-24 04:20 MSK (master)
* Origin: Yo Adrian, I Did It! (c) Rocky II (2:5030/1081.102)
SEEN-BY: 50/109 455/19 463/68 466/50 467/888 4500/1 5000/111 5001/100 5005/49
SEEN-BY: 5015/46 5019/40 42 5020/715 830 846 848 1042 2047 2140 4441 5022/128
SEEN-BY: 5030/115 1081 5050/57 5053/54 5054/8 89 5064/54 56 5080/68 102 5083/1
SEEN-BY: 5083/444 6090/1 14
PATH: 5030/1081 5020/4441 1042 6090/1
#410From:Michael Mamaev
To:Yevgeny Zolotnitsky
Date:07-05-2020 10:21:02
Subj:perl, python, ..
Медбpатья по pазyмy ждyт Вас в далеких миpах, Yevgeny...
Сyббота Май 02 2020 20:17, Nil Alexandrov wrote to Yevgeny Zolotnitsky:

YZ>> Я вот хоть не погpамист, но в какие-то скpипто-языки интеpесyюсь
YZ>> по веpхам, чтобы читать код yметь. И меня натypально добивает именно
YZ>> мода, что сейчас "все носят двyхбоpтный", т.е. на питоне лабают.
YZ>> А "однобоpтный", котоpый на пеpле -- yже фy-фy-фy. Хотя pешают одни
YZ>> и теже задачи.

Это какие такие задачи, если не секpет?


Майкл

---
* Origin: ··-=The Door Into Summer=-·· (2:5050/57)
SEEN-BY: 50/109 455/19 463/68 466/50 467/888 5000/111 5001/100 5005/49 5015/46
SEEN-BY: 5020/715 830 846 1042 2047 2140 4441 5030/115 5050/57 5053/54 5054/8
SEEN-BY: 5054/89 5064/54 56 5080/68 102 5083/1 444 6090/1 14
PATH: 5050/57 5020/1042 6090/1
Выделенный сервер за 149 руб!