Programming Languages/PYTHON(12)
-
6. 모듈, 패키지, 프로그램
이전까지는 파이썬 기본 대화식 인터프리터를 이용해 코딩했다. 코드를 폭 넓게 활용하기 위해서는 스탠드얼론 프로그램을 만들 필요가 있다. 책에서 따로 툴을 추천하지 않아서 예전에 봐두었던 파이참을 사용했다. https://www.jetbrains.com/pycharm/download/ 1)모듈파이썬에서는 .py 확장자의 코드 조각 파일을 모듈module이라 한다.import문을 사용해서 외부에서 생성한 모듈을 임포트할 수 있고, import 뒤에는 .py 확장자를 지운 파이썬 파일명만 입력하면 된다.import하고자 하는 파일을 같은 디렉터리에 넣고 불러주면 되는데, 다른 경로에 있는 파일을 불러오고 싶을 경우 아래처럼 원하는 경로를 추가할 수 있다. 경로 내에서 중복된 이름의 모듈이 있는 경우 먼저 찾은..
2016.10.23 -
5. 클로져, 람다, 제너레이터, 예외처리
*클로져(Closure)*정의는 '어떤 함수의 내부에 선언된 함수로 상위 함수가 호출될 때 동적으로 생성되며 상위 함수가 전달 받은 인자를 알고 있는 함수' 이다.123456789101112131415def outer(arg): def inner(): return "I know outer's argument : "+arg return inner a=outer("hello")b=outer("bye") a() "I know outer's argument : hello" b() "I know outer's argument : bye"cs *익명함수 람다(lambda())*람다는 하나의 라인으로 된 간단한 작은 함수들을 여러 개 정의할 때 유용하다. 자주쓰이는 함수라면 이름을 붙여 정의하는 것이 좋겠지만, 익명..
2016.10.17 -
4. 함축(컴프리헨션), 함수
5)컴프리헨션(Comprehension)컴프리헨션(함축)은 하나 이상의 이터레이터로 부터 자료구조를 만들 때 번거로움을 줄여주는 기능이다.리스트, 딕셔너리, 셋, 제너레이터를 컴프리헨션으로 생성할 수 있다. 튜플은 불가능하다! 리스트의 컴프리헨션은 아래 예제에서 확인 가능하듯이 [표현식 for 항목 in 순회 가능한 객체 if 조건] 의 형식으로 사용가능하다.123456789101112131415161718number_list=[number for number in range(1,6)]print(number_list) [1,2,3,4,5] #튜플 언패킹으로 두개 이상의 for 절을 사용하는 것이 가능하다.cells=[(row,col) for row in range(1,2) for col in range(..
2016.10.14 -
3. 루프, 순회(이터레이션)
1) 코멘트, 다음 라인에 이어서 쓰기 12345#코멘트를 쓸 수 있다.alphabet='abcedfg'+\ 'hijklmnop'+\ 'qrstuv'+\ 'wxyz'cs 2) if, elif, else12345678first=Truesecond=Falseif first: print("FIRST!")elif second: print("SECOND!")else: print("nothing...")cs 3) while, else, break12345678counter=5while counter>0: sentence=input("String to swap-case [type q to quit]: ") if sentence==q: break print(sentence.swapcase())else: print("다..
2016.10.14 -
2. 리스트, 튜플, 딕셔너리, 셋
1)리스트[]로 생성하며 문자열과 다르게 변경이 가능하다. 동일한 값이 여러번 들어가는 것도 가능하다. weekdays=['Mondays','Tuesday','Wednesday','Thursday','Friday'] list('cat')--> ['c','a','t'] 으로 형변환이 가능하다. weekdays[1]--> 'Tuesday' 처럼 오프셋으로 하나의 특정 값을 추출하는 것도 가능하다. 문자열과 마찬가지로 음수의 인덱스로 거꾸로 값을 추출하는 것도 가능. weekdays[1]='화요일'--> 특정 오프셋의 원소를 바꿀 수 있다. weekdays[2:5:2]문자열과 마찬가지로 슬라이스로 항목을 추출하는 것이 가능하다. 리스트의 멤버함수는 다음과 같다. 기능예시 append()리스트의 끝에 새 항목을..
2016.10.13 -
1. 숫자, 문자열, 변수
1) 숫자 연산파이선은 strong type으로 객체의 타입을 바꿀 수 없다. /부동소수점 나누기//정수 나누기 (버림)%나머지divmod(a,b)(몫, 나머지)**지수 2)형변환int(True)int(98.6)int('98.6')int('99 bottles of beer on the wall')float(True)float(98)float('99')float('98.6')str(99)str(Ture) 3)문자열다른 언어와 달리 파이썬에서는 문자열이 불변이다. 문자열 자체는 변경할 수 없지만 문자열의 일부를 다른 문자열로 복사할 수는 있다. 'hi'"hi" -> 둘은 같은 문자열을 나타낸다. '"hi"'-> '안에 "를 넣을 수도 있고, "안에 '를 넣을 수도 있다. '''hi'''"""hi"""-> 세..
2016.10.10