안녕하세요, 제 첫 번째 게시물입니다. 코드를 작성하는 법을 배우기 때문에 기술적으로는 초보자입니다.코드의 순서로이 프로그램을 더 빠르게 만들 수 있습니까?
저는 파이썬을 배우고 있습니다. 저는 여전히 매우 기초적입니다. if 문을 알기 시작했고 파이썬에 대한 더 넓은 비전을 얻기 위해 다른 개념 (함수 정의, 입력, 변수)과 혼합하려고했습니다. 나는 내가하고 싶은 것에 대한 구체적인 생각이없는 코드를 썼다. 나는 지금까지 배운 모든 것을 섞어서 사용하고 싶었고 아마도 그것을 끝내었고 그것을 실천하지 못했다. 나는 그것을 실행할 때 "작동한다".
내가 더 효율적으로 또는 적은 코드로 처리하는 방법에 관한 질문은 일반적으로 모든 프로그래밍의 코드 순서에 관한 것입니다. 여기서 동일한 코드를 사용하여 동일한 결과를주는 두 가지 순서의 코드를 보여 드리겠습니다 (순서는 다를 수 있음).
on (1) 첫 번째 줄에 함수를 정의합니다.
on (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()
걱정이 될 때까지 속도에 대해 걱정하지 마십시오. 마음에 드는 속도가 너무 느려지는 큰 코드 조각을 가지고 있다면 먼저 더 나은 알고리즘을 찾을 수 있는지 확인하십시오. –
@RolandSmith 나는 변화가 있는지를 알고 싶었 을까 걱정하지 않았다. – marsulld
속도를 측정하려면 [프로파일 러] (http://docs.python.org/2/library/profile.html)를 사용해야합니다. –