Python:使用对象作为参数有区别吗?方法(XXX)与此语法:XXX.method()?

Python: is there a difference between using an object as an argument e.g. method(XXX) vs. this syntax: XXX.method()?

抱歉,我还没有词汇来正确表达这个问题。

例如:

# Import sas7bdat package
from sas7bdat import SAS7BDAT

# Save file to a DataFrame: df_sas
with SAS7BDAT('sales.sas7bdat') as file:
    df_sas = file.to_data_frame()

# Print head of DataFrame
print(df_sas.head())

# Save file to a DataFrame: df_sas
with SAS7BDAT('sales.sas7bdat') as file:
    df_sas = SAS7BDAT.to_data_frame(file)

# Print head of DataFrame
print(df_sas.head())

两者产生相同的结果。它们一般是等价的还是特殊情况?

我不会称之为特例,而是间接的。

您正在使用 with SAS7BDAT('sales.sas7bdat') as file: 创建一个对象 file,它是 class SAS7BDAT 的一个实例,然后您正在使用 Class 方法 to_data_frame来自 Class 而不是直接来自实例。