Python Pandas/PEP8——这么长的代码行正确吗?可以改进吗?
在编写代码时,我通常会构建这样的长行,但我已经忘记了发生了什么,我发现这样很难阅读。我必须解构并运行每个部分,以了解实际情况 但是,当我自学我从中学到的资源时,我说高级用户将使用一行代码,而初学者将使用多行代码 所以我的问题是: 这一行(保持原样)会更好吗?如果是,如何将其格式化为79个字符以下(根据PEP8) 还是把它分成几块比较好,以便以后更容易再讨论(或者奇怪,我不能像这样理解它)Python Pandas/PEP8——这么长的代码行正确吗?可以改进吗?,python,pandas,formatting,pep8,Python,Pandas,Formatting,Pep8,在编写代码时,我通常会构建这样的长行,但我已经忘记了发生了什么,我发现这样很难阅读。我必须解构并运行每个部分,以了解实际情况 但是,当我自学我从中学到的资源时,我说高级用户将使用一行代码,而初学者将使用多行代码 所以我的问题是: 这一行(保持原样)会更好吗?如果是,如何将其格式化为79个字符以下(根据PEP8) 还是把它分成几块比较好,以便以后更容易再讨论(或者奇怪,我不能像这样理解它) “高级用户会使用一行代码,而初学者会使用很多”我不认为这是真的。可能的情况是,对于做同样的事情,高级用户需要
“高级用户会使用一行代码,而初学者会使用很多”我不认为这是真的。可能的情况是,对于做同样的事情,高级用户需要一行代码,而初学者需要几行代码,但这并不意味着将多行代码压缩成一行。这更像是一种个人风格,但我会说任何可以自然命名的名字。例如,将您在
ser.isin(collection))
中引用的任何集合保存到一个变量中。至少对于那些关心编写可读、可维护代码的人来说,这是一种糟糕的风格。理想情况下,您的代码是自文档化的。我同意@ayhan的观点,并且我想添加一个,添加函数时不要(太)害羞。我不知道上下文,但我有一种感觉,很多代码在其他地方被重复使用,只是为了有一个行,而它可以封装在一个函数中,这个函数的名称可以是不言自明的。“高级用户会使用一行代码,而初学者会使用很多”我不认为这是真的。可能的情况是,对于做同样的事情,高级用户需要一行代码,而初学者需要几行代码,但这并不意味着将多行代码压缩成一行。这更像是一种个人风格,但我会说任何可以自然命名的名字。例如,将您在ser.isin(collection))
中引用的任何集合保存到一个变量中。至少对于那些关心编写可读、可维护代码的人来说,这是一种糟糕的风格。理想情况下,您的代码是自文档化的。我同意@ayhan的观点,并且我想添加一个,添加函数时不要(太)害羞。我不知道上下文,但我有一种感觉,很多代码在其他地方被重复使用,只是为了有一个行程序,而它可以封装在一个函数中,这个函数的名称可以是不言自明的。
top_products_for_customer_group = stock_trans[(stock_trans["SA_DACCNT"].isin(customer_seg_df[self.customer_seg_df["Label"] == customer_seg_df[self.customer_seg_df["SA_DACCNT"] == acc]["Label"].iloc[0]]["SA_DACCNT"]))].groupby(["SA_PRODUCT", "SA_DESC"]).count()["SA_ACCOUNT"].reset_index().sort_values("SA_ACCOUNT", ascending=False)