Date: 2006-08-28 10:10 am (UTC)
ты ещ вспомни вариант
def hehe(smiles=[]):
smiles.append(':)')
print " ".join(smiles)

hehe()
hehe()
hehe(["8-o"])
hehe()


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

>...Только вопрос - из какой такой логики переменные можно читать (а заодно вызывать в них >методы, и вообще вытворять всё что угодно), но нельзя делать только одно - присвоение?
Немножко идеи: в питоне переменные - это ссылки, когда ты пишешь a = 'x' ты создаешь ссылку на самом ближайшем фрэйме на объект 'x', а обращатся к ней ты можешь откуда угодно если не перекрываешь идентификатор или же не пере определяешь на том же уровне.
А теперь с другой стороны к тому же: все цифры и строки (и прочие) immutable - это не переменные и x += 1 - значит найти сослать идентификатор x на цифру которая является результатом x+1, т.е. сослать на новый константный объект (мне эта идея очень нравится)

Последнее очень очевидное поведение, когда ты выделив в одном модуле ссылку g1 на None (и на том же уровне f1, ссылающуюся на объект который можно вызвать) переопредлил ее.
подобное позволят экономить многие вещи, например можно не делать кучу класов, а сразу на лету подменять методы классов (см. bind)

прим: чаще всего обращение к любому объекту в питоне делается через obj.attrname.

если целью является бодание с языком, то это все конечно "клинически дурная схема" а не попытка разтормошить закостенелые мозги C++'ников и perl'овиков, ну и других.

кстати, в Tcl'е есть аж три способа связать идентификатор с переменной variable, global, upvar
в perl'е я вообще не помню что бы можно было это делать.

P.S. Эх... Prolog должен войти в школьную программу обучения, причем не так как его преподают в КПИ'ях.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

netch: (Default)
netch

December 2023

S M T W T F S
     12
3456789
10111213141516
171819 20212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 22nd, 2026 06:42 pm
Powered by Dreamwidth Studios