编辑:对原始标题的错误措辞“从底部向上和从右到左是最像编程的langs”
问题 - 很多编程语言如python,你想从下到上,从右到左看你的语句?
简单的问题,我正在学习如何在python中编程,并且知道(中间)如何在bash中创建shell脚本。
当我制作bash脚本时,我从顶部开始向下工作,但是使用python似乎我必须考虑我想要的东西,然后向后工程师如何使程序运行。
所以有人对如何让我更容易理解这一点有任何想法吗? (当我找到适合我在python中寻找的答案的东西时,我总是在末尾加上'''评论'',试图记住从下往上看,从右到左看,无论如何,在那个声明中。)
这似乎(评论)非常有助于我更多地了解我正在努力实现的目标(特别是在递归时),但是有没有人知道例子,讨论,(了解的捷径),如何编程程序的落后?
还有一个问题,
程序只是按正确的顺序放在一起的很多脚本?
编辑:感谢您的回复,他们很有帮助。 主持人,请让其他人回复一段时间,然后你可以关闭它。
对那些已经回复的人,我正在使用麻省理工学院的计算机科学和编程简介,尝试实际学习如何使用python进行编程,并更好地理解编程。在某种程度上理解我的意思,我上面所说的看到了我写了很长一段时间的bash脚本 - >
https://drive.google.com/open?id=13WtPvaabM9__hUWNOWzPOai9n34LeiWa
而我试图把它变成一个python程序。在参加麻省理工学院课程之前,我只是在网上查看,阅读文档,并在这里提出一些问题。 python尝试 - >
https://drive.google.com/open?id=10NesR4FONR8k1vegJjwKdHloC5r0JrWm
答案 0 :(得分:2)
您可以在不使用函数的情况下在python中编写程序。
另一方面,您可以使用函数编写shell脚本。
因此,如果你“找到了可行的东西”并且代码是按功能组织的,那么开发人员可以选择在函数中组织代码。
Shell脚本往往很短,通常用于特定目的。 在这种情况下,许多人只需编写必要的代码而不必考虑可读性或代码结构。
对于较长的脚本或程序,人们倾向于切换到像python这样的语言。那时代码布局和可读性变得更加重要,现在很多人将代码构建到函数中,因为他们的体验使他们的代码更容易维护和理解。
这也许是原因,你发现最常见的shell脚本示例是“自上而下左上”,而python示例是在函数和类中构造的
答案 1 :(得分:1)
是很多像python这样的编程语言,你想从下到上,从右到左看你的语句?
在许多语言和框架中,理解执行流程可能非常复杂!您的代码可能会以许多意想不到的方式进行分组和调用。
编程语言还允许您并行运行代码,以便您可以同时运行两段代码。这是使用线程或进程或异步编程完成的。
正如您可能已经看到的,在Python中有函数,类和模块。它们用于“分组”代码,以便易于重用,并且还可以定义使编程变得容易的抽象概念。这些结构使代码流更复杂(因为你从一个地方“跳”到另一个地方),但它们是非常强大的工具。
当我制作bash脚本时,我从顶部开始向下工作,但是使用python似乎我必须考虑我想要的东西,然后向后工程师如何使程序运行。
Bash也会变得复杂,类似于Python。查看the script to install Docker:这是一个不是“从上到下”的shell脚本示例。
同样,您也可以编写从上到下执行的简单Python脚本。但是对于所有语言都不是这样(例如,C或Java,必须使用函数)。
那么有没有人对如何让我更容易理解?
经验是关键。即使是老程序员也要花很多时间来学习和理解他们不熟悉的新语言和框架。
编写注释和文档(就像你已经做的那样)也很有帮助:你可以记录调用函数的方式和时间,你可以记录将要调用的函数。例如:
def frobnicate():
"""This function transforms foo into baz"""
# insert magic here
def main():
"""This is the program ingress point. It calls frobnicate() three times."""
for i in range(3):
frobnicate()
if __name__ == '__main__':
# Call the ingress point, defined above
main()
使用免费/开源软件,您还可以查看源代码。因此,例如,如果您想知道如何调用函数frobnicate()
,您可以查看关键字“frobnicate”的来源并找到答案。它并不总是直截了当,但它是一种有用的方法。