python - 如何正确格式化python代码结构?
问题描述
我对 python 还是有点陌生,我正在尝试学习如何正确格式化我的代码以用于现实世界的应用程序和面试。
下面的代码将一个数字作为输入,然后返回列表中有多少个数字高于和低于给定数字。我创建了一个类 ,solution
来存储函数 , placeOfNum
,它执行所有的处理逻辑。
如果我想像下面那样输出我的答案,最好的做法是像下面那样调用Solution
类函数,还是应该将所有内容保留在类中以帮助提高可读性,或者我应该在类中创建另一个answer
函数并在该类中输出解决方案?
def placeOfNum(self, n, array):
aboveNum = 0
belowNum = 0
array = sorted(array)
for x in array:
if x < n:
belowNum += 1
if x > n:
aboveNum += 1
return (above, below)
numList = [1,5,21,2,1,10,232]
num = 21
x = Solution()
answer = x.placeOfNum(num, numList)
print("above:", answer[0], "below:", answer[1])
# returns "above:1, below:5"
解决方案
def place_of_num(num, array):
above_num = 0
below_num = 0
for x in array:
if x < num:
below_num += 1
if x > num:
above_num += 1
return tuple((above_num, below_num))
num_list = sorted([1,5,21,2,1,10,232])
num = 21
answer = place_of_num(num, num_list)
print(f"above: {answer[0]} and below: {answer[1]}")
我会这样写的。保持命名一致,例如对变量、函数使用snake_case,对类名使用CamelCase。保持代码简单易读
推荐阅读
- android - 运行时无法执行颤振应用程序
- docker - 气流的 entrypoint.sh 文件中 TRY_LOOP="20" 的目的是什么?
- python-3.x - 有没有办法在使用 Django Graphene 制作的 GraphQL API 中检索枚举描述而不是名称
- python - discord.py 你能从 discord 标签中获取用户对象吗?
- javascript - 如何修复工具提示不根据工具提示高度重新调整
- excel - 添加到集合中的值被重复多次
- excel - 尝试将单元格值相乘时键入不匹配
- javascript - 文本更改不起作用时的角度淡入/淡出
- python - 如何将通过 askdirectory() 方法生成的路径从一个回调传递到 tkinter 中的另一个回调
- java - Gradle 构建两个项目(带有名称的项目和一个项目库)