Форум сайта python.su
Gradient
Область видимости переменных. Почему просто было не сделать “снизу вверх”, как в “обычных” языках? Частая глобальная переменная - в каждой функции пиши global. Или передавай её как параметер. Зачем эти сложности на пустом месте?
# -*- coding: utf-8 -*-
a = 5
b = 3
def test():
c = a # a global
b = 7 # b local
print a,b,c
test()
print b
Офлайн
Ребята, ну вы смешные - просто не могу.
Со всеми вопросами разобрались, остался только self.
class A:
def f(): # думаем, что у нас есть неявный self
a = 3 # куда будет присваивание? a - это локальная переменная, глобальная или атрибут класса?
Офлайн
Спросите ГвидоЭто будет далеко не первый раз
Отредактировано (Ноя. 5, 2009 20:36:27)
Офлайн
Ferromanhttp://docs.python.org/3.1/library/functions.html#bytes
Я, наверное, что-то упустил, но в питоне нет встроенного типа bytes.
Офлайн
Ага, спасибо, я таки упустил. Надо всё-таки поближе с тройкой ознакомится.
Офлайн
GradientЯкшо тип змінний - він не може бути ключем в словнику і не може бути елементом frozenset бо тоді hash буде змінюватись. тому стрічки і є незмінними
Почему bytes неизменяем? Что мешало сделать работающим что-то вроде b = 0x10?
Офлайн
regallДа это известно и понятно. Вопрос ведь не “почему” и “зачем”. Даже не вопрос, а предложение (правда, высказанное в никуда :)).
Читаем внимательно
regallОх уж этот Гвидо :)
Спросите Гвидо
Андрей СветловЗачем? Разве нет другого пути. Например, инициализации атрибутов класса в описании класса или в __init__ () вполне достаточно.
Лучше ввести объявления переменных?
Офлайн
Блин, в чем проблема, если вам чего-то в питоне не нравится, вытяните из репозитория, сделайте себе бранч “MoiMegaPython” и сделайте релиз без self, и со всем тем, что там писали …. =)
Отредактировано (Ноя. 6, 2009 14:43:47)
Офлайн
Это не наш путь
Вот посудачить в свободное время - это другое дело :)
Офлайн
Lexander
Думаю, если вы бы попробовали сформулировать свои предложения более конкретно - увидели бы противоречия.
Офлайн