BUG: DataFrame apply additional args fails when type DataFrame input
### 

- [X] I have checked that this issue has not already been reported.

- [X] I have confirmed this bug exists on the [latest version](https://pandas.pydata.org/docs/whatsnew/index.html) of pandas.

- [X] I have confirmed this bug exists on the master branch of pandas.


### Reproducible Example

```python
import pandas as pd

d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d)
d = {'col1': [5, 6], 'col2': [7, 8]}
df2 = pd.DataFrame(data=d)

def sum_row(row, other_df):
    print(row)
    print(other_df)
df.apply(sum_row, axis=1, args=(df2))
```


### Issue Description

When I try to pass an additional argument of type `pandas.core.frame.DataFrame` to the DataFrame apply function through the `args` parameter, I get the following error:

```
/.../python3.7/site-packages/pandas/core/apply.py in __init__(self, obj, func, raw, result_type, args, kwargs)
    110         self.obj = obj
    111         self.raw = raw
--> 112         self.args = args or ()
    113         self.kwargs = kwargs or {}
    114 

/.../python3.7/site-packages/pandas/core/generic.py in __nonzero__(self)
   1533     def __nonzero__(self):
   1534         raise ValueError(
-> 1535             f"The truth value of a {type(self).__name__} is ambiguous. "
   1536             "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
   1537         )

ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
```

It seems that this is because of the check before setting the `args` parameter in the Apply class. Since DataFrames have ambiguous truthiness, this doesn't work. 

### Expected Behavior

The expected behavior would be us to be able to pass in a dataframe into the apply function as an extra parameter. 

### Installed Versions

<details>

INSTALLED VERSIONS
------------------
commit           : c7f7443c1bad8262358114d5e88cd9c8a308e8aa
python           : 3.7.9.final.0
python-bits      : 64
OS               : Linux
OS-release       : 3.10.0-1160.25.1.el7.x86_64
Version          : #1 SMP Tue Apr 13 18:55:45 EDT 2021
machine          : x86_64
processor        : x86_64
byteorder        : little
LC_ALL           : None
LANG             : en_US.UTF-8
LOCALE           : en_US.UTF-8

pandas           : 1.3.1
numpy            : 1.19.4
pytz             : 2020.4
dateutil         : 2.8.1
pip              : 20.3.3
setuptools       : 49.6.0.post20201009
Cython           : None
pytest           : None
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : 4.6.3
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : 2.11.2
IPython          : 5.8.0
pandas_datareader: None
bs4              : 4.10.0
bottleneck       : None
fsspec           : 0.8.5
fastparquet      : None
gcsfs            : None
matplotlib       : 3.3.3
numexpr          : 2.7.2
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : None
pyxlsb           : None
s3fs             : None
scipy            : 1.5.3
sqlalchemy       : 1.4.26
tables           : 3.6.1
tabulate         : None
xarray           : 0.16.2
xlrd             : None
xlwt             : None
numba            : 0.52.0

</details>
