목록Dev. Study Note/Python (13)
Priv's Blog
1. Pyinstaller Python은 인터프리터(Interpreter)를 사용하는 대표적인 언어입니다. 즉, 컴파일러(Compiler)를 사용하는 언어와 달리, 소스 코드 파일을 한꺼번에 전부 번역을 해둔 뒤에 실행하는 것이 아니라 소스 코드를 실행하면 실시간으로 번역하는 방식입니다. 이러한 인터프리터 방식은 컴파일 방식보다 개발 속도가 빨라져서 이점도 많지만, 그렇다고 항상 좋은 것만은 아닙니다. 당연하겠지만 Python은 다른 언어와 달리 '컴파일'이라는 개념이 없습니다. 즉, '바로 실행할 수 있도록 소스 코드를 미리 번역해 둔 결과물'이라는 개념이 없습니다. IDE에서 코드를 다 짰으면 Python을 설치하지 않은 환경에서도 프로그램을 실행할 수 있도록 만들어 배포해야 하는데, 여기서 좀 난감..
1. 개요 Python은 반복, 리스트, 문자열 등 프로그래밍을 하면서 정말 자주 마주하게 되는 매우 귀찮은(?) 상황들에 대해 정말 친절한 언어 중 하나입니다. Python에는 이터러블 객체(Iterable Object)라는 개념이 존재하며, 이는 말 그대로 '반복'이 가능한 객체입니다. map( ) 메서드는 이러한 이터러블 객체를 매개변수로 받아 데이터를 가공할 수 있습니다. 2. map( ) 백준 사이트에서 알고리즘 문제를 Python으로 풀다 보면 map( )을 굉장히 자주 사용하게 됩니다. 25305번, 커트라인 문제를 보면 다음과 같습니다. 예제 입력 부분을 보면 한 줄에 여러 개의 숫자를 입력하고, 이 값들을 배열에 저장한 뒤 값을 출력해야 합니다. 100 76 85 93 98이라는 총 5개..
1. C++ 빌드 도구 설치 먼저 위 파일을 설치한다. 비주얼 스튜디오 인스톨러가 설치/실행되면 개별 구성 요소를 클릭한다. 최신 버전의 C++ 빌드 도구 항목을 찾아 체크한 뒤 설치한다. 재부팅한 뒤, 터미널 창에서 패키지 설치를 다시 시도한다. 에러가 여전히 발생한다면 계속 진행한다. 2. cl.exe 파일 실행 불가 에러 아마 1번까지 진행했음에도 에러가 계속된다면 cl.exe 파일 실행 불가 관련 에러일 가능성이 크다. 이 경우 빌드 도구를 재설치하는 방법과 비주얼 스튜디오를 부분 설치하는 방법이 있다. 경험상 빌드 도구를 재설치하는 방법은 소용이 없었으므로 생략한다. 다시 PC에 설치된 비주얼 스튜디오 인스톨러를 실행한다. 맨 아래에 있는 커뮤니티 버전을 설치해야 한다. 아까와 마찬가지로 개별 ..
출처 5.2 시퀀스 | 파이썬 프로그래밍 입문서 (가제) 박연오가 도서출판 인사이트와 함께 준비하고 있는 파이썬 프로그래밍 입문서입니다. 질문과 의견은 페이지 하단의 댓글란에 남겨주세요. python.bakyeono.net 1. 시퀀스 시퀀스란, 데이터에 순서(번호)를 붙여서 나열한 것으로, 리스트가 대표적인 시퀀스에 해당한다. inter_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]## sequence example 시퀀스는 순서로 요소를 가리키는 것이 가능하다. 즉, 인덱스라는 개념을 가지고 있기 때문에 인덱스를 활용해 사용자가 원하는 특정 요소만을 골라낼 수 있다. inter_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]## sequence example ..
month = int(input("월을 입력하시오: ")) ## 월 입력 if (month == 2) : ## 2월 (예외: 29/28일) print("월의 날 수는 28 또는 29") else : if (month == 1 or 3 or 5 or 7 or 8 or 10 or 12) : ## 월의 날이 31일 print("월의 날 수는 31") if (month == 4 or 6 or 9 or 11) : ## 월의 날이 30일 print("월의 날 수는 30") ## OUTPUT ## 월을 입력하시오: 12 ## 월의 날 수는 31 ## 월의 날 수는 30 month = int(input("월을 입력하시오: ")) ## 월 입력 if (month == 2) : ## 2월 (예외: 29/28일) print..
class First : name = "first" def __init__(self) : print("First class") def printFirst(self) : print("first") class Second : name = "second" def __init__(self) : print("First class") @classmethod def printName(cls) : print(cls.name) class Third(First, Second) : pass third = Third() third.printName() third.printFirst() 일반적인 객체 지향 언어와 달리 다중 상속을 지원하는 파이썬에서는 MRO(메소드 탐색 순서)에 따라 생성자 메소드를 탐색함. 즉, 파이썬은 다..
객체 (object) : 클래스로 만들어낸 피조물 Ex) a = Cookie() 생성자 : 객체를 생성할 때 자동 호출, 특정 이름이 정해져 있으며, 메소드와 유사한 구조로 이루어져 있음 Ex) def __init__(self): 클래스 (class) : 일종의 청사진 Ex) class Cookie : 필드 (field) : 클래스에 내장된 변수 메소드 (method) : 클래스 내부에 선언된 함수 Ex) def Make_Cookie() : 속성 (attribute) : 필드 + 메소드 = 속성 인스턴스 (instance) : 클래스를 통해 생성된 결과물로 '실체'라고도 한다. Ex) a = Cookie() 에서 a가 인스턴스에 해당한다. 정적 메소드 (static method) : self 매개변수를 ..
먼저 함수, 메소드, 생성자의 관계를 표현하면, 함수 (특정 기능의 집합) 메소드 (클래스 안의 함수) 생성자 (객체를 생성할 때 자동으로 호출) 여기서 생성자, 메소드는 특별한 용법이 정해지지 않음 단, 메소드의 이름은 자유롭게 설정이 가능하지만, 생성자는 __init__이라는 정해진 이름을 사용해야 한다. 아래의 코드는 삼각형 객체를 생성하고 밑변과 높이를 인자로 받아서 생성자를 이용해 변수에 저장한 뒤, 공식에 대입해 계산한 값을 반환하는 코드이다. class Triangle : def __init__(self, b, h) : #생성자 self.b = b self.h = h def area(self) : return self.b * self.h / 2 tri1 = Triangle(4, 5) #호출하..