Найти - Пользователи
Полная версия: Куда катится питон?
Начало » Python для новичков » Куда катится питон?
1 2 3
o7412369815963
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
result:
5 7 5
3

не всегда нужно global юзать что-б использовать глобальные переменные
Андрей Светлов
Ребята, ну вы смешные - просто не могу.
Со всеми вопросами разобрались, остался только self.
class A:
def f(): # думаем, что у нас есть неявный self
a = 3 # куда будет присваивание? a - это локальная переменная, глобальная или атрибут класса?
Лучше ввести объявления переменных? Быть может, еще и с типами? Тогда это - не Питон.
Ferroman
Спросите Гвидо
Это будет далеко не первый раз
Великодушный Диктатор выразился ясно - этого не будет.
ZZZ
Ferroman
Я, наверное, что-то упустил, но в питоне нет встроенного типа bytes.
http://docs.python.org/3.1/library/functions.html#bytes
str из “двойки” в “тройке”. :-)
Ferroman
Ага, спасибо, я таки упустил. Надо всё-таки поближе с тройкой ознакомится.
crchemist
Gradient
Почему bytes неизменяем? Что мешало сделать работающим что-то вроде b = 0x10?
Якшо тип змінний - він не може бути ключем в словнику і не може бути елементом frozenset бо тоді hash буде змінюватись. тому стрічки і є незмінними
Lexander
regall
Читаем внимательно
Да это известно и понятно. Вопрос ведь не “почему” и “зачем”. Даже не вопрос, а предложение (правда, высказанное в никуда :)).
regall
Спросите Гвидо
Ох уж этот Гвидо :)
Андрей Светлов
Лучше ввести объявления переменных?
Зачем? Разве нет другого пути. Например, инициализации атрибутов класса в описании класса или в __init__ () вполне достаточно.
Ну это я так, все равно ведь против Гвидо не попрешь. :) Тем более, что, если мне не изменяет память, он когда-то писал о влиянии декораторов на методы класса, которое мешает чего-то там сделать. Т.е. мы отказываемся от простой вещи в угоду бОльшим возможностям.
regall
Блин, в чем проблема, если вам чего-то в питоне не нравится, вытяните из репозитория, сделайте себе бранч “MoiMegaPython” и сделайте релиз без self, и со всем тем, что там писали …. =)
Lexander
Это не наш путь
Вот посудачить в свободное время - это другое дело :)
Андрей Светлов
Lexander
Думаю, если вы бы попробовали сформулировать свои предложения более конкретно - увидели бы противоречия.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB