在 python 中将十进制转换为二进制时出现问题

Problem converting decimal to binary in python

下面的代码是将十进制转为二进制。

我的问题是:当 num 变得小于或等于 1 时,python 跳转到最后一行,即 print(num % 2, end = '') 并因此打印出 1。但在那之后, 为什么它移动到第 'decimalToBinary(num // 2)' 行?该行应该仅在 num > 1

时执行
def decimalToBinary(num):
    if num > 1:
        decimalToBinary(num // 2)
    print(num % 2, end='')

decimalToBinary(17)
import numpy as np 
import pandas as pd

# Read the input
s = int(input())

# Write your code below

print(format(s, 'b'))

因为栈中最后一个函数执行完了,所以跳转到上层函数的调用点stack.If你在print(num%2,end='')语句后面加上a=1,你将看到 a=1 在控件 returns 到上层函数之前被调用。