Простой в освоении язык, такой как Python, но для чего требуется объявление переменных? - PullRequest
3 голосов
/ 21 ноября 2010

Python очень прост в освоении и понимании;Мне нравится его использование ключевых слов, отсутствие сложного синтаксиса (в отличие от perl, как я слышал) и простых в использовании структур данных.Тем не менее, я не могу смириться с отсутствием объявления переменных, потому что это делает невозможным явное указание Python, какую область видимости должна иметь переменная.Есть ли языки, обладающие всеми качествами, которые мне нравятся в Python , а также объявление переменных и, возможно, достойный набор доступных библиотек?

Thankslot.

Ответы [ 7 ]

7 голосов
/ 21 ноября 2010

Попробуйте pychecker , pylint , pyflakes или другие инструменты проверки кода.Они помогают выявлять ошибки, на которые переводчик не жалуется.

2 голосов
/ 22 ноября 2010

Вы можете попробовать использовать Python с объявлениями переменных:

>>> x = 0 # a global variable
>>> def fact(n): #n is a parameter
...     x = 0 # local variable declaration
...     z = 1 # declaration and initialization
...     for i in range(1, n + 1): # a loop variable is defined inline
...         z = z * i
...     return z
...     
>>> x = 5 # the global x
>>> fact(x)
120

Можете ли вы объяснить, в чем проблема с этим? Кроме того, как сказал Ник Бастин в комментарии, было бы полезно, если бы вы объяснили, связана ли ваша проблема с декларацией или областью действия.

Если ваша проблема связана с синтаксисом или статической типизацией, будет ли приемлем следующий синтаксис для вас?

def f(double x):
    return x**2-x

def integrate_f(double a, double b, int N):
    cdef int i
    cdef double s, dx
    s = 0
    dx = (b-a)/N
    for i in range(N):
        s += f(a+i*dx)
    return s * dx

Этот синтаксис является синтаксисом Cython , языка для расширения Python с использованием скомпилированных (C) расширений.

1 голос
/ 21 ноября 2010

C #

Вот несколько примеров кода .

0 голосов
/ 11 февраля 2011

Как насчет Бу . CLR, очень похожий на Python. Статические типы с выводом типа.

0 голосов
/ 22 ноября 2010

Cython во многом похож на Python, но имеет объявление переменных, подобное C (на самом деле, Cython допускает множество вещей, присутствующих в C).

0 голосов
/ 22 ноября 2010

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

В любом случае, вы можете проверить dev.perl.org , если вы заинтересованы.

0 голосов
/ 21 ноября 2010

Попробуйте Google Go , если вы не говорите о производственном коде.Языку чуть больше года.Это очень легко учиться.Это предложение только потому, что вы запросили любые языки .

В противном случае ответ Вима Коенена должен просто сработать для вас.

...