[CS] 객체지향 OOP 개념 제대로 알기
·
Programming
객체지향 (OOP) 프로그램을 실제 세상에 가깝게 모델링하는 기법 데이터를 추상화시켜 속성과 행위를 가진 객체로 만들고, 그 객체 간의 상호작용을 통해 로직을 구현하는 프로그래밍 방법 코드 중복을 방지하고 재사용성을 높임 객체지향(OOP) 원칙 캡슐화 추상화 상속 다형성 클래스 (Class) 특별한 데이터와 메서드의 집합 설계도(틀) 메모리상에 올라가지 않음 객체 (Object) 하나의 class로 만들어진 여러 instance(object)는 각각 독립적이다.
[Python] 클래스 & 메소드
·
Programming
아래와 같이 차량의 정보를 관리해야하는 경우 우리는 여러 방법을 사용할 수 있다. 대표적인 파이썬의 자료구죠인 리스트, 딕셔너리를 통한 관리를 알아보고 어떤 단점이 있는지 클래스를 사용하면 어떻게 보완할 수 있는지 직접 구현해보자. 변수에 할당하여 관리 직관적이고 수정이 쉽지만 차량이 많아질수록 더 많은 변수를 만들어 관리해야하는 불편함이 있다. (=하드코딩) # 차량1 car_company_1 = 'Ferrari' car_detail_1 = [ {'color': 'White'}, {'horsepower': 400}, {'price': 8000} ] # 차량2 car_company_2 = 'Bmw' car_detail_2 = [ {'color': 'Black'}, {'horsepower': 270}, {..
[Python] Hangman 게임 만들어 보기
·
Programming
Python Level 1에서 배운 것들을 총동원해 행맨 게임 만들기! import time # 처음 인사 name = input("What is your name?") print("Hi," + name + ". Let's Play Hangman!") time.sleep(1) print("Start Loading...") time.sleep(0.5) # 정답 word = "python" # 추측 단어 guesses = "" # 기회 turns = 10 # 기화가 남아 있을 경우 while turns > 0: # 실패 횟수 failed = 0 # 정답 단어 반복 for char in word: # 정답 단어 내에 추측 문자가 포함 되어 있다면 if char in guesses: # 추측 단어 출력 prin..
[Python] 외장 함수 : External Functions
·
Programming
외장 함수 외장함수는 실제 프로그램 개발 중 자주 사용한다. sys, pickle, os, shutil, glod, temfile, time, random 등 다양한 외장 함수가 있다. sys 실행 관련 제어를 하는 외장 함수다. import sys print(sys.argv) >>> ['C:\\\\Users\\\\user\\\\바탕 화면\\\\workspace\\\\python\\\\python1\\\\chapter08-02.py'] # 강제 종료 sys.exit() # 파이썬 패키지 위치 sys.path Pickle 파일 쓰기 import pickle f = open("test.obj", 'wb') obj = {1: 'python', 2: 'study', 3: 'basic'} pickle.dump(o..
[Python] 내장 함수: Built-in Functions
·
Programming
Python의 내장 함수 python이 제공하는 내장 함수의 종류는 다양하다. 아래 링크를 통해 확인해보면 좋다, 외우려고 하기보다는 사용하다보면 자연스럽게 익혀지기 때문에 가볍게 읽는 것을 추천한다. https://docs.python.org/3/library/functions.html 자주 사용하는 내장 함수 정리 abs() : 절대값 abs_example = abs(-3) print(abs_example) # >>> 3 all() : iterable요소 검사(참,거짓으로 반환) 모두가 True일 경우 True 반환 print(all([1, 2, ''])) # >>> False any() : iterable요소 검사(참,거짓으로 반환) 하나라도 True가 있다면 True 반환 print(any([1,..
[Python] Package란 무엇인가?
·
Programming
파이썬 패키지 : python package 패키지는 파이썬의 모듈로 구성되어 있는 하나의 모음집이다. 패키지 안의 __init__.py 파일은 python3.3 버전 이상의 경우 없어도 패키지로 인식하지만, 하위 호환을 위해 작성하는 것을 추천한다. 아래는 패키지를 import하여 사용하는 예제이다. import python1.sub.sub1.module1 import python1.sub.sub2.module2 # 예제 1 # 사용 python1.sub.sub1.module1.mod1_test1() python1.sub.sub1.module1.mod1_test2() python1.sub.sub2.module2.mod2_test1() python1.sub.sub2.module2.mod2_test2() ..
[Python] module
·
Programming
모듈이란? 함수, 변수, 클래스 등 파이썬 구성 요소 등을 모아 놓은 파일을 말한다. 파일의 이름은 모듈 이름에 확장자 .py 를 붙인다. 모듈 내에서, 모듈의 이름은 전역 변수 __name__ 으로 제공된다. 만약 math.py라는 모듈을 만들고, 아래와 같은 출력문을 실행하면 print(__name__) __math__ 가 출력된다. # math.py def add(x, y): return x + y def subtract(x, y): return x - y def multiply(x, y): return x * y def divide(x, y): return x / y def power(x, y): return x ** y print('-' * 15) print('called! inner!') pr..
[Python] 입력
·
Programming
파이썬 사용자 입력 Input 사용법 예제1 name = input('Enter your name') grade = input('Enter your grade') company = input('Enter your company') print(name, grade, company) # sunny, 10, kakao를 입력한 경우 >>> sunny 10 kakao 예제2 number = input("Enter number : ", ) name = input("Enter name : ", ) print("type of number", type(number)) print("type of name", type(name)) >>> type of number >>> type of name 예제3 first_num =..
[Python] 파이썬의 함수
·
Programming
함수 정의 방법 함수는 다음과 같이 쓸 수 있다. def first_func(w): print("Hello, ", w) 함수 호출 방법 위에 정의한 함수를 호출하고 싶을때는 어떻게 할까? 먼저, fist_func에는 파라미터(매개변수) w가 필요하다. 만약 파라미터가 없이 호출을 한다면 타입 에러가 난다. TypeError: first_func() missing 1 required positional argument: 'w' 아래 예제에서는 word를 미리 변수로 할당해주고 매개변수로 사용해주었다. # 예제1 def first_func(w): print("Hello, ", w) # Hello, Goodboy word = "Goodboy" # 함수 호출 first_func(word) # 예제2 def re..
[Python] 제어 구조 : while 구문
·
Programming
While 기본 사용법 사용법은 아래 예제로 살펴보면 좋을 것 같다. # 예제1 n = 5 while n > 0: print(n) n = n - 1 >>> 5 >>> 4 >>> 3 >>> 2 >>> 1 # 예제2 a = ['foo', 'bar', 'baz'] while a: print(a.pop()) >>> baz >>> bar >>> foo Break, Continue while에서도 for 구문과 같이 break를 만나면 구문이 종료된다. n = 5 while n > 0: n -= 1 if n == 2: break print(n) print('Loop Ended.') print() >>> 4 >>> 3 >>> Loop Ended. continue는 건너뛰는 기능이기 때문에 아래와 같이 m이 2일 때 ..
[Python] 제어 구조 : For 구문
·
Programming
코딩의 핵심 : for in collection 특정 조건에서 반복문을 수행 할 때, range() 함수를 사용할 수 있다. range(1, 10, 2) 위의 경우 1부터 10까지 2씩 건넌 숫자를 말한다. 1, 3, 5, 7, 9의 순서로 실행된다. for v1 in range(10): # 0~9 print('V1 is : ', v1) for v2 in range(1, 11): # 1~10 print('V2 is : ', v2) for v3 in range(1, 11, 2): # 1~10 중 두개씩 건너뜀( 1, 3, 5 ,7, 9 ) print('V3 is : ', v3) 반복문을 응용해본다면! 1~1000까지의 합을 구해보자. sum1 = 0 for v in range(1, 1001): sum1 +..
[Python] 제어 구조 : IF 구문
·
Programming
자! 이제 Python의 IF문을 정리해보자. 프로그래밍을 하다보면 IF문을 사용할일이 정말 많다. 조건문에 있어 참/거짓은 아주 중요한 개념이다. 먼저, 잊지 말아야할 것! 0이 아닌 수나 빈자료형이 아니라면 True를 반환한다. 0이나 빈자료형은 False를 반환한다. # 참 거짓 판별 종류 # 참 : "values", [values], (values), {values}, 1 # 거짓 : "", [], (), {}, 0, None a = 3 print(bool(a)) >>> True b = "" print(bool(b)) >>> False IF문 실습 참이면 Good을 거짓이면 Bad를 출력하는 제어문이다. 이를 실행하면 Good이 출력되는 것을 볼 수 있다. if True: print("Good")..