Singular Manual: pyobject operations

| ### 4.27.3 pyobject operations `+` addition `-` negation or subtraction `*` multiplication `/` division `^`, `**` power by a positive integer `<`, `<=`, `>`, `>=`, `==`, `<>` comparators (considering leading monomials w.r.t. monomial ordering) pyobject_expression `[` int_expression `]` get the item from the pyobject by index pyobject_expression `(` pyobject_expression_sequence `)` call the pyobject with a sequence of python arguments (the latter may be empty) pyobject_expression `.` ( string_expression | name ), pyobject_expression `::` ( string_expression | name ) get attribute (class member) of a python object Example:
    pyobject two = 2;
    pyobject three = 3;

    two + three;
    ==> 5
    two - three;
    ==> -1
    two * three;
    ==> 6
    two / three;
    ==> 0
    two ^ three;
    ==> 8
    two ** three;
    ==> 8

    three < two;
    ==> 0
    two < three;
    ==> 1
    three <= two;
    ==> 0
    two <= three;
    ==> 1
    two == three;
    ==> 0
    two == two;
    ==> 1
    three > two;
    ==> 1
    two > three;
    ==> 0
    three >= two;
    ==> 1
    two >= three;
    ==> 0
    two != two;
    ==> 0
    two != three;
    ==> 1

    pyobject pystr = "Hello";
    pystr + " World!";
    ==> 'Hello World!'
    pystr * 3;
    ==> 'HelloHelloHello'
    pystr[1];
    ==> 'e'

    python_run("def newfunc(*args): return list(args)");
    newfunc();
    ==> []
    newfunc(two, three);
    ==> [2, 3]

    newfunc."__class__";
    ==> <type 'function'>
    newfunc::"__class__";
    ==> <type 'function'>
    newfunc.func_name;
    ==> 'newfunc'
    newfunc::func_name;
    ==> 'newfunc'

User manual for Singular version 4.3.2, 2023, generated by texi2html.