-1

嗨,这是我的第一篇文章,我正在学习如何编写代码,所以从技术上讲我是新手。

我正在学习 python 我仍然处于非常基础的状态,我开始了解 if 语句,并且我尝试将它与另一个概念(函数定义、输入、变量)混合在一起,以便更广泛地了解 python,我写了一些代码没有我想做什么的具体想法我只是想混合到目前为止我学到的所有东西,所以可能我过度使用它并且它不实用,当我运行它时它“工作”。

我的问题不是关于如何更高效或使用更少的代码,而是关于所有编程中的代码顺序。在这里,我将展示 2 种不同顺序的代码,它们使用完全相同的代码(但顺序不同)给出相同的结果。

(1) 我在第一行定义了一个函数。
在(2)上,我在第 5 行使用它时定义了更接近的相同功能。

哪个更快?正在定义一个“更接近”我需要的函数对于大型程序的复杂性不切实际(但它是否使它更快),或者定义一个函数“远离”我需要它在运行时使更大的程序变慢(但也更实用)。

(1)

def t(n1,n2):
    v=n1-n2
    return abs(v)
a = int(input('how old are you? \n'))
b = int(input('how old is your best friend? \n'))

c=t(a,b)

if a==b:
    print ('you are both the same age')

else:
    print('you are not the same age\nthe difference of years is %s year(s)' % c)

input()

(2)

a = int(input('how old are you? \n'))
b = int(input('how old is your best friend? \n'))

def t(n1,n2):
    v=n1-n2
    return abs(v)

c=t(a,b)

if a==b:
    print ('you are both the same age')

else:
    print('you are not the same age\nthe difference of years is %s year(s)' % c)

input()
4

2 回答 2

1

函数定义必须位于函数调用之上,但函数定义和函数调用之间的距离无关紧要(因为函数代码已经被加载)。

使程序更快的一种方法是避免产生相同结果的重复计算,方法是执行一次计算,将结果存储在变量中,并在需要结果时使用该变量。

例如,假设您的程序处理一个非常大的元组。如果len(veryLargeTuple)在代码中多次出现,Python 会反复尝试确定非常大的元组的长度。这是浪费时间,因为元组是不可变的,所以它的长度不会改变,而且找到一个非常大的元组的长度可能需要一些时间。将结果存储len(veryLargeTuple)在变量中veryLargeTupleLengthveryLargeTupleLength在需要非常大的元组长度时使用会更快(查找变量的值是一个非常快速的操作)。

于 2013-09-01T03:35:07.867 回答
0

它没有丝毫区别。做任何最易读的事情。

于 2013-09-01T02:57:39.627 回答