강의 회차 : #5.4 Inheritance ~#5.7 Code Challange

1. Inheritance(상속)

상속이란, 클래스의 Method들을 클래스간에 공유 하는 기능으로써 반복 작업을 제거해주는 객체지향프로그래밍의 중요한 기능중 하나이다. 각 Class에 대해 반복적인 프로퍼티가 있을경우 상속을 하여 반복작업을 제거 해준다.  아래와 같이 Class 선언시 상속 Class를 적어주면 된다. 

class ClassName(InheritanceClassName):

 

상속을 받은 Class에서 __init__Method가 없을경우 자동으로 부모Class의 init Method를 호출한다. 

init을 선언할때 super()를 통해 아래와  같이 부모class의 init method를 참조할수있다 

class Dog:
    def __init__(self, name,breed , age):
        self.name = name
        self.breed = breed
        self.age = age

class GuardDog(Dog):
    def __init__(self, name ,breed):
        super().__init__(name,breed,5)

    def rrrrr(self):
        print("stay away!")

class Puppy(Dog):
    def __init__(self,name,breed):
        super().__init__(name, breed, 0.1)

    def woofwoof(self):
        print("woof woof!")

ruffus = Puppy(
    name = "ruffus",
    breed = "beagle",

)

bibi = GuardDog(
     name = "bibi",
    breed = "dodog",
)

ruffus.woofwoof()

 

class Puppy와 GuardDog는 Dog 클래스를 참조하게 되어있고, name,breed,age를 상속 받는다. 그리고 각 GuardDog와 Puppy는 supper().__init__()을 통해서 age의 값을 따로 선언하게끔 되어있다

'Study > Python' 카테고리의 다른 글

Python 공부 8일차  (0) 2024.04.03
Python 공부 7일차  (0) 2024.03.26
Python 공부 6일차  (0) 2024.03.14
Python 공부 5일차  (0) 2024.03.13
Python 공부 4일차  (0) 2024.03.10

강의 회차 : #5.0 Introduction ~ #5.3 Methods

 

1. OOP(object oriented programming)

 

OOP는 데이터를 기반으로 동작하는 함수로 데이터를 캡슐화 할수있다.

OOP를 사용하면 다른 종류의 데이터와 함수들을 모두 하나의 파일에 가지고 있는 것보다 데이터를 더 구체적으로 구성할 수 있습니다. 이를 Box, Object, Bubble 등으로 부를 수 있습니다.

함수와 데이터구조(리스트,튜플,딕셔너리)들이 연결 관계에 있게끔 구성하는게 아닌,

각각의 우리의 데이터를 어떻게 구조화 해야하는지 알려주고, 그 데이터를 수정하기 위해 어떤 함수를 사용해야하는지 안내해주며, 이는 명확한 수준의 경계를 말해준다고 볼수있다. 

 

 

2. Class

Class란 데이터와 데이터를 처리하는 함수들을 함께 묶어놓은것이며 이를 통해 데이터 구조화를 도와준다. 

선언하는 방법은 아래와 같이 간단하다.

class Puppy:

 

3. Methods

간단히 정의하면 함수가 class 밖에 있으면 함수 안에 있으면 method다

method의 가장 중요한 규칙은 아래와 같다

클래스 내 어떠한 메쏘드던지 첫번째 아규먼트는 자동적으로 자기 자신(self)을 첫번째 아규먼트로 받는다.

그 예시를 보자면

class Puppy:

  def __init__(self, name, breed):
    self.name = name
    self.breed = breed
    
ruffus = Puppy("ruffus","beagle")

print(ruffus.name,ruffus.breed)

결과 값은 아래와 같다

 

즉, ruffus를 선언할때 Puppy Class를 호출하는데, Method내 첫번째 아규먼트인 self는 ruffus 자체가 된다는 의미이다.

 

 

 

'Study > Python' 카테고리의 다른 글

Python 공부 9일차  (0) 2024.04.28
Python 공부 7일차  (0) 2024.03.26
Python 공부 6일차  (0) 2024.03.14
Python 공부 5일차  (0) 2024.03.13
Python 공부 4일차  (0) 2024.03.10

강의 회차 : #4. 3  For Loops ~#4.9 Recap

 

1. For Loops

 

기본포맷

for 변수 in 데이터:
	조건문 또는 실행문

 

반복문으로써 tuple list dic등 데이터구조에서 각 아이템을 활용해서 코드를 실행하기 위한 구문

for문 안에는 다양한 조건문 또는 실행문을 작성할수있다.

변수는 아무 변수나 선언이 가능하나 해당 변수는 불러온 데이터구조의 각 아이템을 의미한다.

websites = (
	"google.com",
    "airbnb.com",
    "https://twitter.com"
)

for items in websites
	print(f"현재 item은 {items},입니다")

실행 결과값은 아래와 같다.

items라는 변수가 websites lists의 각각의 아이템을 가져오는것을 확인 할 수 있다.

 

 

2. PYPI

PYPI란?

파이썬 표준라이브러리에서 제공하지않는 개발자가 자체 개발한 모듈들을 찾을 수 있는 사이트다.

다양한 모듈이 개발되어있어, 앞으로 개발공부를 하면서 많이 참조할듯하다.

 

3. Requests

 

Requests는 PYPI에서 다운로드할수 있는 라이브러리로써 get과 post등 http의 method를 사용 할 수 있는 라이브러리이다. 아래와 같이 import하여 사용이 가능하며 from import를 통해 특정 함수(get)만 사용도 가능하다.

import requests

from requests import get

get 함수를 이용한 예제

 

4.  예제풀이

 line 1 : requests module의 get function을 import 한다.

 line 3: websites list를 선언한다.

 line 11 : results 라는 빈 dictionary를 선언한다.

 line 15 : for loop를 통해 websites 리스트를 반복문내에 website 변수로 선언하며 반복문 실행

 line 16-17 : if not 구문을 통하여, website변수(string)의 startswith method를 통해 https://로 시작여부를 bool로 받는다. 이경우 if not 이기때문에, https://로 시작하지 않는 string변수에 한해 조건문 하단 실행문을 실행한다.(실행문 : website 변수앞에 https://를 추가.)

 line 19 : response변수를 선언하여 import했던 get함수를 통해 website 변수를 호출한다.

 line 20-21 : response변수의 status_code가 만약 200일 경우 results dictionary에 키에 대한 값을(OK) 추가한다.

 line 22-23 : response변수의 status_code가 200외의 값일 경우에 results dictionary에 키에 대한 값(FAILED)을 추가한다

 line 25 : results dictionary를 전부 print한다.

'Study > Python' 카테고리의 다른 글

Python 공부 9일차  (0) 2024.04.28
Python 공부 8일차  (0) 2024.04.03
Python 공부 6일차  (0) 2024.03.14
Python 공부 5일차  (0) 2024.03.13
Python 공부 4일차  (0) 2024.03.10

강의 회차 : #4. 3  Dicts ~#4.4 Recap

 

1. Dicts

키와 값 한쌍(Key Value Pair)으로 구성, Dictionary의 형태는 아래와 같다

zosys_info = { 
  'name' : 'zosys', 
  'age' : 30,
  'merried' : True,
  'fav_food' : ["steak","noodle"]
}

중괄호{}로 키와 값을 각각 선언해 주고, 값은 list, string, boolean, number 등 다양한 값을 선언할 수 있다.

print(zosys_info['age'])

기존 tuple이나 list처럼 정렬된 값을 가져오는것과 달리 키를 통해서 값을 가져올 수 있다.

 

'Study > Python' 카테고리의 다른 글

Python 공부 8일차  (0) 2024.04.03
Python 공부 7일차  (0) 2024.03.26
Python 공부 5일차  (0) 2024.03.13
Python 공부 4일차  (0) 2024.03.10
Python 공부 목표  (0) 2024.03.07

강의 회차 : #4.0  Methods ~ #4.2 Tuples

 

1. method

method란 데이터와 함께 결합/연결된 function를 말한다. 

단독으로 사용하진 못하며, 데이터와 결합되어야 사용이 가능하다.

name = "zosys"
print(name.upper())

string값인 name변수에 대해 upper method를 적용함(대문자 변경)

 

다양한 method가 있으며 아래와 같이 파이썬 표준라이브러리를 참조하여 확인 할 수 있다.

 

2. List 

 

List란 데이터 구조 중 한가지로써 정렬된 아이템의 집합이다. 아래와 같이 나타낸다.

Working_Days = ["Mon","Tue", "Wed", "Thu", "Fri"]

 

대괄호로 묶어준 뒤, 콤마로 값을 구분해준다. 그리고 그순서에 따라 아래와 같이 호출이 가능하다

 

각 값은 0부터 시작하여 순서가 매겨지며, Working_Days의 2번에 알맞은 값인 Wed가 print되는걸 확인 할 수 있다.

* 역순으로 호출시에는 -1부터 시작한다. ex) Working_Days[-1] = Fri

추가로 단순히 String값 뿐만 아니라, 숫자,Boolean값 등 다양한 값으로 구성 할 수 있다.

 

3.tuple

 

tuple 역시 데이터 구조의 한가지인데, list와 굉장히 흡사하나 다른점은 '불변성'을 가지고 있다는 점이다.

list와는 달리 소괄호로 아래와 같이 묶어준다.

Tuple = ("True","False")

 

인덱스를 호출하는 방식은 같으나 Method를 호출해보면 기존에 List에서 존재하던 Remove와 Replace와 같은 데이터를 수정가능한 Method가 보이지 않는걸 알수있다.

 

 

'Study > Python' 카테고리의 다른 글

Python 공부 7일차  (0) 2024.03.26
Python 공부 6일차  (0) 2024.03.14
Python 공부 4일차  (0) 2024.03.10
Python 공부 목표  (0) 2024.03.07
Python 공부 3일차  (0) 2024.03.07

+ Recent posts