我怀疑这一定是为了向后兼容。我只是想找出背后的原因。 Snowpark DataFrame API 的灵感来自 Apache Spark DataFrame API。
但是为什么这么多相似的 DataFrame 类方法,具有相同的签名和功能,却以两个不同的名称出现?
仅举几个例子(但有很多):
另外,今天有首选的表示法吗?与这些调用相关的最佳实践?
# Add aliases for user code migration createOrReplaceTempView = create_or_replace_temp_view createOrReplaceView = create_or_replace_view crossJoin = cross_join dropDuplicates = drop_duplicates groupBy = group_by minus = subtract = except_ toDF = to_df toPandas = to_pandas unionAll = union_all unionAllByName = union_all_by_name unionByName = union_by_name withColumn = with_column withColumnRenamed = with_column_renamed toLocalIterator = to_local_iterator randomSplit = random_split order_by = sort orderBy = order_by printSchema = print_schema
及相关问题:为camelCase API 添加 pythonic Snake_case API #196
- 每个函数和变量都将在snake_case中。
...
- 在支持从pyspark到snowpark的平滑代码迁移的同时,建议用户的新代码使用
。因此所有示例代码都将使用 Snake_case API。snake_case
还有 PEP 8:函数和变量名称:
函数和变量名称
函数名称应小写,必要时用下划线分隔单词以提高可读性。
变量名称遵循与函数名称相同的约定。
mixedCase 仅在已成为流行风格的上下文中才允许使用(例如 threading.py),以保持向后兼容性。