Producer.__pow__()#
relationalai
#Producer.__pow__(exp: Any) -> Expression
Returns an Expression
the produces the values of the Producer
to the power of exp
.
Parameters#
Name | Type | Description |
---|---|---|
exp | Any | A numeric value or another Producer object. |
Returns#
An Expression
object.
Example#
You may raise a Producer
object by a number literal:
#import relationalai as rai
model = rai.Model("people")
Person = model.Type("Person")
with model.rule():
Person.add(name="Fred", age=39)
Person.add(name="Wilma", age=36)
with model.query() as select:
person = Person()
# `person.age` returns an `InstanceProperty` object,
# which is also a `Producer` object.
square_age = person.age ** 2
response = select(person.name, square_age)
print(response.results)
# Output:
# name result
# 0 Fred 1521
# 1 Wilma 1296
You may also use a Producer
as the exponent:
#import relationalai as rai
model = rai.Model("people")
Person = model.Type("Person")
with model.rule():
Person.add(name="Fred", age=39)
Person.add(name="Wilma", age=36)
with model.query() as select:
person = Person()
val = 1.01 ** person.age # A producer can be the exponent.
response = select(person.name, val)
print(response.results)
# Output:
# name result
# 0 Fred 1.474123
# 1 Wilma 1.430769