code: def test_requires_partial():
      x, y, z, t, nu = symbols("x y z t nu")
      n = symbols("n", integer=True)
  
      f = x * y
      assert requires_partial(Derivative(f, x)) is True
      assert requires_partial(Derivative(f, y)) is True
  
      ## integrating out one of the variables
      assert (
          requires_partial(
              Derivative(
                  Integral(exp(-x * y), (x, 0, oo)), y, evaluate=False
              )
          )
          is False
      )
  
      ## bessel function with smooth parameter
      f = besselj(nu, x)
      assert requires_partial(Derivative(f, x)) is True
      assert requires_partial(Derivative(f, nu)) is True
  
      ## bessel function with integer parameter
      f = besselj(n, x)
      assert requires_partial(Derivative(f, x)) is False
      # this is not really valid (differentiating with respect to an integer)
      # but there's no reason to use the partial derivative symbol there. make
      # sure we don't throw an exception here, though
      assert requires_partial(Derivative(f, n)) is False
  
      ## bell polynomial
      f = bell(n, x)
      assert requires_partial(Derivative(f, x)) is False
      # again, invalid
      assert requires_partial(Derivative(f, n)) is False
  
      ## legendre polynomial
      f = legendre(0, x)
      assert requires_partial(Derivative(f, x)) is False
  
      f = legendre(n, x)
      assert requires_partial(Derivative(f, x)) is False
      # again, invalid
      assert requires_partial(Derivative(f, n)) is False
  
      f = x**n
      assert requires_partial(Derivative(f, x)) is False
  
      assert (
          requires_partial(
              Derivative(
                  Integral((x * y) ** n * exp(-x * y), (x, 0, oo)),
                  y,
                  evaluate=False,
              )
          )
          is False
      )
  
      # parametric equation
      f = (exp(t), cos(t))
      g = sum(f)
      assert requires_partial(Derivative(g, t)) is False
  
      f = symbols("f", cls=Function)
      assert requires_partial(Derivative(f(x), x)) is False
      assert requires_partial(Derivative(f(x), y)) is False
      assert requires_partial(Derivative(f(x, y), x)) is True
      assert requires_partial(Derivative(f(x, y), y)) is True
      assert requires_partial(Derivative(f(x, y), z)) is True
      assert requires_partial(Derivative(f(x, y), x, y)) is True
  
file_path: sympy/sympy/printing/tests/test_conventions.py
imports: from sympy.core.function import Derivative, Function
  from sympy.core.numbers import oo
  from sympy.core.symbol import symbols
  from sympy.functions.elementary.exponential import exp
  from sympy.functions.elementary.trigonometric import cos
  from sympy.integrals.integrals import Integral
  from sympy.functions.special.bessel import besselj
  from sympy.functions.special.polynomials import legendre
  from sympy.functions.combinatorial.numbers import bell
  from sympy.printing.conventions import split_super_sub, requires_partial
  from sympy.testing.pytest import XFAIL
label_desc: Use image node_id 2 for calling a global function with example usage: test_requires_partial() without return types