Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 19, 2013 09:41:52

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Статическая типизация в питоне

Под вендой есть вражеская вижуал студия. Тоже годная вещь.



Офлайн

#2 Авг. 19, 2013 09:59:31

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Статическая типизация в питоне

Подумал что может быть горячусь. Поставил сейчас опять pycharm проверить…

FishHook
Как понять, что программа тормозит?
4kpt
Используй PyScripter.

class Ta(object):
    def __init__(self,v):
        self.a=5
        self.b=6
        self.c="asdasd"
def a(x,b,c):
    print x,b,c
d=Ta()
a()
Время на дополнение аргументов порядка 2 секунд в pycharm
в pyscripter практически мгновенно, те быстрее чем я набираю одну букву.

Контекстная подсказка в обоих средах практически мгновенно.

Набор текста не тормозит ни там ни там. Ну а дальше решайте кому что важно.



Офлайн

#3 Авг. 19, 2013 10:06:33

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Статическая типизация в питоне

4kpt
Ты пользуешься виндой
Особый привет 4kpt. Я был в отключке по рабочим вопросом как… как белка в мясорубке :) Так что прошу прощение если упустил чтото важное.
Кстати под виндой я сейчас меньше времени провожу чем под unix. Там засел под spyder по причине нормальных графических backend. Рекомендую для разнообразия тоже попробовать.



Офлайн

#4 Авг. 19, 2013 13:35:56

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Статическая типизация в питоне

Как то раз PyScripter намертво завис. После его его убийства оказалось что он переписал мусором все открытые файлы. Тогда я еще не пользовался гитом и бэкапа проекта тоже не было. Пришлось все заново переписывать. В багрепорт я им написал и в следующей версии они поправили, но осадок все равно остался.



Офлайн

#5 Авг. 19, 2013 14:21:53

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Статическая типизация в питоне

Ну вот, казалось бы интересный топик скатился к обсуждению программок, в которых люди код набивают.

Офлайн

#6 Авг. 19, 2013 18:54:54

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Статическая типизация в питоне

lorien
интересный топик
Начнем с определения wiki:
“Стати́ческая типиза́ция — приём, широко используемый в языках программирования, при котором переменная, параметр подпрограммы, возвращаемое значение функции связывается с типом в момент объявления и тип не может быть изменён позже.”
c++:
template <typename T>
T dva(T x){return x*2;}
Где тут строгая типизация? Где хочешь там и вставляй.

def dva(obj):
    assert(isinstance(SomeClass), obj))
    return obj*2
А сюда уж не засунешь любой тип.
есть конечно разница, но значительно важнее стиль программирования.



Отредактировано doza_and (Авг. 19, 2013 18:55:13)

Офлайн

#7 Авг. 19, 2013 19:07:51

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

Статическая типизация в питоне

doza_and
я ничего не понял

Офлайн

#8 Авг. 19, 2013 19:10:44

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Статическая типизация в питоне

Вроде бы как дженерики (обобщенные типы), которые недавно появились в плюсах и черт знает когда в джаве и сишарпе, делают эти классические строготипизированные языки не такими уж и строготипизированными.
Я, кстати, не согласен.



Офлайн

#9 Авг. 19, 2013 19:14:52

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Статическая типизация в питоне

> Где тут строгая типизация? Где хочешь там и вставляй.

#include <stdio.h>

template <typename T>

T dva(T x) {
return x * 2;
}

int main() {
const char *msg = "foo";
printf("Hello world: %d\n", dva(msg));
return 0;
}

$ gcc test.cpp -o hello
$ gcc test.cpp -o hello
test.cpp: In instantiation of ‘T dva(T) [with T = const char*]’:
test.cpp:11:40: required from here
test.cpp:6:16: error: invalid operands of types ‘const char*’ and ‘int’ to binary ‘operator*’

Офлайн

#10 Авг. 19, 2013 19:17:33

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

Статическая типизация в питоне

> А сюда уж не засунешь любой тип.

А вы python-пользователь? Вы у себя в каждой функции для каждого аргумента прописываете assert? А потом ещё по дополнительному ассерту во время получения результата из функции?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version