Сокращение для определения одинаковых функций Python? - PullRequest
1 голос
/ 14 апреля 2011

Если у меня много переменных, которые я хочу инициализировать одним и тем же значением, я использую:

a = b = c = ""

Есть ли аналогичные сокращения для определения многих функций, которые делают одно и то же?То есть ни одно из следующих действий:

def x() = y() = z():
def x() = def y() = def z():

Ответы [ 4 ]

6 голосов
/ 14 апреля 2011

Вы можете просто назначать функции, как если бы вы назначали переменные.

def z():
  whatever

x = y = z

Вы не можете сделать это в одну строку, если хотите использовать def, но если вы можете сделать это в lambda вы можете сделать однострочник:

x = y = z = lambda foo: bar()
1 голос
/ 14 апреля 2011

Как насчет:

def z():
    pass

x = y = z
0 голосов
/ 14 апреля 2011

вы можете сделать что-то вроде этого:

def X():
    pass

Y = Z = X
0 голосов
/ 14 апреля 2011

Хм ... функции также являются объектами, поэтому вы можете сделать это:

def foo():
   pass

bar = foo

Как видите, синтаксис тот же.

Почему вы хотите,черт, если я знаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...