pub enum Expression {
Show 26 variants
Literal(Literal),
Name(String),
BinaryOp {
left: Box<Expression>,
operator: BinaryOperator,
right: Box<Expression>,
},
UnaryOp {
operator: UnaryOperator,
operand: Box<Expression>,
},
BoolOp {
operator: BoolOperator,
values: Vec<Expression>,
},
Compare {
left: Box<Expression>,
ops: Vec<CompareOperator>,
comparators: Vec<Expression>,
},
Call {
func: Box<Expression>,
args: Vec<Expression>,
keywords: Vec<Keyword>,
},
Attribute {
value: Box<Expression>,
attr: String,
},
Subscript {
value: Box<Expression>,
slice: Box<Expression>,
},
List {
elts: Vec<Expression>,
},
Tuple {
elts: Vec<Expression>,
},
Slice {
lower: Option<Box<Expression>>,
upper: Option<Box<Expression>>,
step: Option<Box<Expression>>,
},
Dict {
keys: Vec<Option<Expression>>,
values: Vec<Expression>,
},
Set {
elts: Vec<Expression>,
},
ListComp {
elt: Box<Expression>,
generators: Vec<Comprehension>,
},
DictComp {
key: Box<Expression>,
value: Box<Expression>,
generators: Vec<Comprehension>,
},
SetComp {
elt: Box<Expression>,
generators: Vec<Comprehension>,
},
GeneratorExp {
elt: Box<Expression>,
generators: Vec<Comprehension>,
},
Lambda {
args: Vec<Parameter>,
body: Box<Expression>,
},
IfExp {
test: Box<Expression>,
body: Box<Expression>,
orelse: Box<Expression>,
},
JoinedStr {
values: Vec<Expression>,
},
FormattedValue {
value: Box<Expression>,
conversion: usize,
format_spec: Option<Box<Expression>>,
},
Yield(Option<Box<Expression>>),
YieldFrom(Box<Expression>),
Await(Box<Expression>),
Starred {
value: Box<Expression>,
is_double: bool,
},
}Expand description
Represents a Python expression.
Variants§
Literal(Literal)
Literal value
Name(String)
Identifier name
BinaryOp
Binary operation
Fields
left: Box<Expression>Left operand
operator: BinaryOperatorBinary operator
right: Box<Expression>Right operand
UnaryOp
Unary operation
BoolOp
Boolean operation (and, or)
Compare
Comparison operation
Fields
left: Box<Expression>Leftmost operand
ops: Vec<CompareOperator>Comparison operators
comparators: Vec<Expression>Subsequent operands
Call
Function call
Attribute
Attribute access
Subscript
Subscript access
List
List literal
Fields
elts: Vec<Expression>List elements
Tuple
Tuple literal
Fields
elts: Vec<Expression>Tuple elements
Slice
Slice expression
Fields
lower: Option<Box<Expression>>Optional lower bound
upper: Option<Box<Expression>>Optional upper bound
step: Option<Box<Expression>>Optional step
Dict
Dictionary literal
Set
Set literal
Fields
elts: Vec<Expression>Set elements
ListComp
List comprehension
DictComp
Dictionary comprehension
Fields
key: Box<Expression>Key expression
value: Box<Expression>Value expression
generators: Vec<Comprehension>Generators
SetComp
Set comprehension
GeneratorExp
Generator expression
Lambda
Lambda expression
IfExp
Conditional expression (ternary operator)
Fields
test: Box<Expression>Test expression
body: Box<Expression>Body expression
orelse: Box<Expression>Else expression
JoinedStr
f-string
Fields
values: Vec<Expression>f-string parts
FormattedValue
Formatted value within an f-string
Fields
value: Box<Expression>Value to format
format_spec: Option<Box<Expression>>Optional format specification
Yield(Option<Box<Expression>>)
Yield expression
YieldFrom(Box<Expression>)
Yield from expression
Await(Box<Expression>)
Await expression
Starred
Starred expression (*args, **kwargs)
Fields
value: Box<Expression>Value being starred
Implementations§
Source§impl Expression
impl Expression
Trait Implementations§
Source§impl Clone for Expression
impl Clone for Expression
Source§fn clone(&self) -> Expression
fn clone(&self) -> Expression
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more