Size: a a a

Сообщество Python Программистов

2020 October 06

СС

Санька Скайуокер... in Сообщество Python Программистов
Не про функции
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Бензофуран Гетероцикл
Внутри функции ты можешь использовать объявленное в глобале, но в глобале не можешь использовать объявленное в функции
Более того - если ты объявил x в глобале и объявил x в функции - это будут разные иксы
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
И один на другой влиять не будет
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Mikhail Kirillov
Жалко нету ключевого слова local или что-нибудь вроде него
Давай сыграем так: сформулируй что конкретно тебе нужно, а я отвечу есть ли такое или нет
источник

MK

Mikhail Kirillov in Сообщество Python Программистов
Бензофуран Гетероцикл
Давай сыграем так: сформулируй что конкретно тебе нужно, а я отвечу есть ли такое или нет
Да мне не нужно, чтобы x улетал на уровень функции и модуля, я хочу например этот x использовать только в блоке условия, где он объявлен и ниже для например промежуточных расчётов.
источник

R3

Rud 356 in Сообщество Python Программистов
Ну как бы в питоне есть local :^
источник

MK

Mikhail Kirillov in Сообщество Python Программистов
Rud 356
Ну как бы в питоне есть local :^
Да?
источник

R3

Rud 356 in Сообщество Python Программистов
Скоупы загугли
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Mikhail Kirillov
Да мне не нужно, чтобы x улетал на уровень функции и модуля, я хочу например этот x использовать только в блоке условия, где он объявлен и ниже для например промежуточных расчётов.
Что есть уровень функции и модуля?
источник

MK

Mikhail Kirillov in Сообщество Python Программистов
В контексте скриншота что я отправил, то область видимости репла
источник

R3

Rud 356 in Сообщество Python Программистов
Ну и у нас так не особо принято. Лучше разделить логику на функции и использовать их где надо, а не насильно впихивать что-то куда-то по скоупам. У тебя есть скоуп внутри функции, внутри модуля и глобал по сути.  Этого не хватит чтоль?
источник

MK

Mikhail Kirillov in Сообщество Python Программистов
Rud 356
Ну и у нас так не особо принято. Лучше разделить логику на функции и использовать их где надо, а не насильно впихивать что-то куда-то по скоупам. У тебя есть скоуп внутри функции, внутри модуля и глобал по сути.  Этого не хватит чтоль?
Да хватит наверное, просто удивился
источник

MK

Mikhail Kirillov in Сообщество Python Программистов
Эх, жалко лямбды однострочные :<
источник

R3

Rud 356 in Сообщество Python Программистов
Language:
py3


Source:
def a():
   b = 0
   def t():
       nonlocal b
       b+=1
       print("inner b =", b)
   t()
   return b

print(a())


Result:
inner b = 1
1
источник

R3

Rud 356 in Сообщество Python Программистов
От такой прикол можно провернуть в принципе
источник

R3

Rud 356 in Сообщество Python Программистов
По описанию питонячий nonlocal по моему подходит
источник

R3

Rud 356 in Сообщество Python Программистов
Mikhail Kirillov
Эх, жалко лямбды однострочные :<
Ну что поделать, куда деваться
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Mikhail Kirillov
Да хватит наверное, просто удивился
Просто у питона немного другой синтаксис)
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Mikhail Kirillov
Эх, жалко лямбды однострочные :<
А зачем многострочные?))
источник

R3

Rud 356 in Сообщество Python Программистов
Бензофуран Гетероцикл
А зачем многострочные?))
Функциональщики хотят, чо
источник