Convert the following Perl code to Python, do not add comments or notes: ```sub _calculate_financing { \
my ($self, $object) = @_; \
unless ($object->is_contract()) { \
# This is for the BU objects \
# Call all  to compute the calculated fields \
# This is to ensure that all  bundle fields are computed before the \
# fileds are computed for the bu \
for my $bundle (@{$object->get_objects('bundle')}) { \
for my $field (qw/bundle_aggregator_attr/) { \
my $cal_ref = $bundle->get_calculator_by_attr($field); \
$cal_ref->do() if (defined $cal_ref); \
} \
} \
for my $field (qw/daily_finance_income_cost debit_finance_income_cost short_finance_income_cost net_daily_finance_income_cost/) { \
my $cal_ref = $object->get_calculator_by_attr($field); \
$cal_ref->do() if (defined $cal_ref); \
} \
my ($debit_finance_income_cost, $daily_finance_income_cost, $short_finance_income_cost, $ndfic) = \
(+DEFAULT_VALUE, +DEFAULT_VALUE, +DEFAULT_VALUE, +DEFAULT_VALUE); \
my $bundle_objs = $object->get_objects('bundle'); \
if (defined $bundle_objs and scalar(@$bundle_objs)) { \
for my $bundle (@$bundle_objs) { \
$daily_finance_income_cost += $bundle->get_attribute('daily_finance_income_cost') \
if (Deshaw::Treasury::Util::Util::numeric($bundle->get_attribute('daily_finance_income_cost'))); \
$debit_finance_income_cost += $bundle->get_attribute('debit_finance_income_cost') \
if (Deshaw::Treasury::Util::Util::numeric($bundle->get_attribute('debit_finance_income_cost'))); \
$short_finance_income_cost += $bundle->get_attribute('short_finance Avoid using the following keywords: filed, bundle_objs, _, perl
user