글

라벨이 파이썬 기초인 게시물 표시

클래스

#!/ usr /bin/python3 # 클래스 # by Elex (http://python.elex.pe.kr/) class MyObject :     # 생성자     def __init__ ( self , param1= 0 ):         self . param1 = param1         # 메서드     def getParam1 ( self ):         return self .param1 def main ():     # 인스턴스 생성     obj1 = MyObject()     obj2 = MyObject( 7 )         print (obj1.getParam1()) if __name__ == "__main__" : main() 파이썬에서는 class 키워드를 사용해서 클래스를 정의할 수 있다. 클래스의 생성자 메서드는 __init__이다.  모든 메서드의 첫 번째 매개변수는 self인데, 이것의 용법은 타 언어의 this와 같다. 클래스의 인스턴스를 생성하는 경우, 다른 프로그래밍 언어와는 달리 new 키워드를 사용하지 않고, 그냥 변수에 할당하면 된다.

함수

#!/ usr /bin/python3 # 함수 # by Elex (http://python.elex.pe.kr/) def main ():     funcOne()     def funcOne ():     for i in range( 10 ):         print (i, end= ' ' )     print () if __name__ == "__main__" : main() 파이썬에서 함수는 def라는 키워드를 사용해서 정의한다. 함수를 호출할 때에는 당연히 함수 이름을 사용해서 호출하면 된다. def funcOne (a):     for i in range(a, 10 ):         print (i, end= ' ' )     print ()     def funcTwo (a= 0 ):     for i in range(a, 10 ):         print (i, end= ' ' )     print () 당연히, 함수에 매개변수를 사용할 수도 있다. funcTwo(a=0)처럼 매개변수 생략시의 기본값을 지정해 줄 수도 있다. 참고로, range() 함수는 주로 반복문에서 사용되며, 일련의 가상 수열을 반환한다. range(10)은 0~9, range(3, 10)은 3~9를 나타낸다. 또 참고로, print()함수는 기본적으로 맨 끝에 줄바꿈 문자(\n)를 붙이는 데, end 매개변수를 지정해서 다른 문자로 변경할 수 있다.

조건문

#!/ usr /bin/python3 # 조건문 # by Elex (http://python.elex.pe.kr/) def main ():     a, b = 2 , 1         if a > b:         print ( "a가 b보다 더 크다" )     elif a < b:         print ( "a가 b보다 더 작다" )     else :         print ( "a는 b와 같다" )         if __name__ == "__main__" : main() 파이썬의 조건문은 if, elif, else 키워드를 사용한다. elseif가 아니다. 입 맛에 맞게 elif나 else를 생략할 수 있는 것은 다른 프로그래밍 언어와 동일하다. 하아~! 그런데, 파이썬에는 s = (a>b) ? "크다" : "크지 않다"  같은 삼항 조건 연산자가 없다.  대신, 파이썬에서는 다음과 같이 사용한다.     s = "크다" if a > b else "크지 않다" 영어권 프로그래머에겐 합리적인 어순일지도 모르겠으나, 적어도 내겐 영 그렇다. 이리 쓸 바에야 차라리 평범한 if-else 구문을 쓰는 게 낫지.

변수

선언 / 할당      a = 1     b = "Hello" 변수를 선언하기 위한 키워드 같은 건 없다. var라거나 int라거나 float 같은 그런 거 없다. 그냥 새로운 변수 이름을 쓰면 알아서 변수가 생성된다. 다중 할당     a = b = 1 이런 식의 할당은 다른 프로그래밍 언어에서도 가능하다.     a, b = 0 , 1 그런데, 특이하게도 파이썬에서는 여러 개의 변수를 한 번에 할당할 수도 있는데, 위와 같이 할당하면 a=0, b=1이 된다.     a, b = b, a 위 문장은 a, b의 값을 서로 바꾸는 동작을 한다. 즉, 스왑. 변수명 다른 언어와 비슷한 규칙이 적용된다. 대소문자를 구분한다거나, 숫자로 시작할 수 없다거나, 키워드는 사용할 수 없다거나 등등. 참고로 파이썬의 키워드는 다음과 같은 코드를 통해서 확인할 수 있다. import keyword def main ():     print (keyword.kwlist) #키워드 목록 (튜플)     print (len(keyword.kwlist)) #키워드 목록의 갯수 if __name__ == "__main__" :     main()

메인 스크립트

#!/ usr /bin/python3 # 가장 기본적인 메인 스크립트 템플릿 # by Elex (http://python.elex.pe.kr/) def main ():     print ( "Hello" ) if __name__ == "__main__" :     main() 파이썬 스크립트의 맨 첫 줄에는 파이썬 인터프리터의 경로를 지정한다. 현재 스크립트가 메인 모듈로써 실행되는 경우에는 __name__ 변수의 값이 "__main__"이 된다. 따라서, 이 스크립트는 메인 모듈로써 실행되는 경우에만 main() 함수를 처리하게 된다.