Python: определение моих собственных операторов?

Это твоя модель. Откройте это, и там должна быть следующая строка

public $useDbConfig = 'local';

Это перезаписывает глобальную конфигурацию & amp; установите его обратно в локальный

67
задан Garrett 3 February 2015 в 08:24
поделиться

4 ответа

Нет, вы не можете создавать новые операторы. Однако, если вы просто оцениваете выражения, вы можете самостоятельно обработать строку и вычислить результаты новых операторов.

33
ответ дан 24 November 2019 в 14:23
поделиться

Хотя технически вы не можете определять новые операторы в Python, этот хитрый хак работает обойти это ограничение. Он позволяет вам определять инфиксные операторы следующим образом:

# simple multiplication
x=Infix(lambda x,y: x*y)
print 2 |x| 4
# => 8

# class checking
isa=Infix(lambda x,y: x.__class__==y.__class__)
print [1,2,3] |isa| []
print [1,2,3] <<isa>> []
# => True
165
ответ дан 24 November 2019 в 14:23
поделиться

Нет, Python поставляется с предопределенным, но переопределяемым набором операторов .

40
ответ дан 24 November 2019 в 14:23
поделиться

Если вы намереваетесь применить операцию к определенному классу объектов, вы можете просто переопределить ближайший к вашей функции оператор. .. например, переопределение __ eq __ () переопределит оператор == , чтобы вернуть все, что вы хотите. Это работает почти для всех операторов.

9
ответ дан 24 November 2019 в 14:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: