@@ -400,7 +400,19 @@ def select(self, *exprs: Expr | str) -> DataFrame:
400400 df = df.select("a", col("b"), col("a").alias("alternate_a"))
401401
402402 """
403- exprs_internal = _to_expr_list (exprs )
403+ checked_exprs : list [Expr | str ] = []
404+ for expr in exprs :
405+ if isinstance (expr , SortExpr ):
406+ checked_exprs .append (expr .expr ())
407+ elif isinstance (expr , (Expr , str )):
408+ checked_exprs .append (expr )
409+ else :
410+ msg = (
411+ f"Expected Expr or column name, got { type (expr ).__name__ } . "
412+ "Use col() or lit() to construct expressions."
413+ )
414+ raise TypeError (msg )
415+ exprs_internal = _to_expr_list (checked_exprs )
404416 return DataFrame (self .df .select (* exprs_internal ))
405417
406418 def drop (self , * columns : str ) -> DataFrame :
@@ -540,9 +552,20 @@ def sort(self, *exprs: Expr | SortExpr | str) -> DataFrame:
540552 Returns:
541553 DataFrame after sorting.
542554 """
543- expr_seq = [e for e in exprs if not isinstance (e , SortExpr )]
555+ expr_seq : list [Expr | str ] = []
556+ for e in exprs :
557+ if isinstance (e , SortExpr ):
558+ continue
559+ if isinstance (e , (Expr , str )):
560+ expr_seq .append (e )
561+ else :
562+ msg = (
563+ f"Expected Expr or column name, got { type (e ).__name__ } . "
564+ "Use col() or lit() to construct expressions."
565+ )
566+ raise TypeError (msg )
544567 raw_exprs_iter = iter (_to_expr_list (expr_seq ))
545- exprs_raw = []
568+ exprs_raw : list [ Any ] = []
546569 for e in exprs :
547570 if isinstance (e , SortExpr ):
548571 exprs_raw .append (sort_or_default (e ))
0 commit comments