728x90
파이썬 심화과정을 시작했다.
class 어렵다 어려워 이해하는데 힘들었다.
하지만 이해하니깐 당장 사용하는데는 문제가 없다!
쟝고하면서 진짜 쓰는 이유를 알수있다는데 쟝고는 어떨지 기대반 걱정반,,,,
화이팅 해보자고
Python 강의 4일차
- Python 언어의 이해
- Python 기초
- Python 활용
- ↑ 3일차 수업 끝
- ↓ 4일차 수업 시작
- Python 심화
- class에 대한 이해
- class란? # 선언된 class로 instance를 만들어 사용
- instance : class를 사용해 생성된 객체
- method : 메소드란 클래스 내에 선언된 함수이며, 클래스 함수라고도 한다.
- self : 메소드를 선언할 때에는 항상 첫 번째 인자로 self를 넣어줘야 한다.
- __init__ 함수 # class에 __init__ 메소드를 사용할 경우 인스턴스 생성 시 해당 메소드가 실행
- class CookieFrame() : def __init__(self, name) :
- class 기본 구조 및 활용(참고자료1)
- class란? # 선언된 class로 instance를 만들어 사용
- mutable 자료형과 immutable 자료형
- mutable과 immutable이란?
- mutable은 값이 변한다는 의미이며, immutable은 값이 변하지 않는다는 의미입니다.
- int, str, list 등 자료형은 각각 mutable 혹은 immutable한 속성을 가지고 있다.
- immutable 속성 자료형
- int, float, str, tuple
- mutable 속성 자료형
- list, dict
- 코드에서 mutable과 immutable의 차이 비교해보기(참고자료2)
- mutable과 immutable이란?
- class에 대한 이해
class 기본 구조 및 활용 (참고자료1)
# 기본 구조
class CookieFrame(): # CookieFrame이라는 이름의 class 선언
def set_cookie_name(self, name):
self.name = name
cookie1 = CookieFrame()
cookie2 = CookieFrame()
cookie1.set_cookie_name("cookie1") # 메소드의 첫 번째 인자 self는 무시된다.
cookie2.set_cookie_name("cookie2")
print(cookie1.name) # cookie1
print(cookie2.name) # cookie2
# __init__ 구조
# class에 __init__메소드를 사용할 경우 인스턴스 생성 시 해당 메소드가 실행된다.
class CookieFrame():
def __init__(self, name):
print(f"생성 된 과자의 이름은 {name} 입니다!")
self.name = name
cookie1 = CookieFrame("cookie1") # 생성 된 과자의 이름은 cookie1 입니다!
cookie2 = CookieFrame("cookie2") # 생성 된 과자의 이름은 cookie2 입니다!
# class 활용
from pprint import pprint
class Profile:
def __init__(self):
self.profile = {
"name": "-",
"gender": "-",
"birthday": "-",
"age": "-",
"phone": "-",
"email": "-",
}
def set_profile(self, profile):
self.profile = profile
def get_profile(self):
return self.profile
profile1 = Profile()
profile2 = Profile()
profile1.set_profile({
"name": "lee",
"gender": "man",
"birthday": "01/01",
"age": 32,
"phone": "01012341234",
"email": "python@sparta.com",
})
profile2.set_profile({
"name": "park",
"gender": "woman",
"birthday": "12/31",
"age": 26,
"phone": "01043214321",
"email": "flask@sparta.com",
})
pprint(profile1.get_profile())
pprint(profile2.get_profile())
# result print
"""
{
'name': 'lee',
'gender': 'man',
'birthday': '01/01',
'age': 32,
'phone': '01012341234',
'email': 'python@sparta.com'
}
{
'name': 'park',
'gender': 'woman',
'birthday': '12/31',
'age': 26,
'phone': '01043214321',
'email': 'flask@sparta.com'
}
"""
코드에서 mutable과 immutable의 차이 비교해보기(참고자료2)
immutable = "String is immutable!!"
mutable = ["list is mutable!!"]
string = immutable
list_ = mutable
string += " immutable string!!"
list_.append("mutable list!!")
print(immutable)
print(mutable)
print(string)
print(list_)
# result print
"""
String is immutable!!
['list is mutable!!', 'mutable list!!']
String is immutable!! immutable string!!
['list is mutable!!', 'mutable list!!']
"""
09/13 파이썬 과제
클래스 활용해보기
아래 과제는 모두 클래스를 활용해서 풀어주세요
1. 도형 넓이 계산기
요구조건
- 인스턴스를 선언할 때 가로, 세로 길이를 받을 수 있는 클래스를 선언해 주세요
- 인스턴스에서 사각형, 삼각형, 원의 넓이를 구하는 메소드를 생성해주세요
- 원의 넓이를 계산할 때는 세로 길이는 무시하고, 가로 길이를 원의 지름이라 가정하고 계산해 주세요
과제 링크 : [Python] 활용편 - 04 - Class 함수(1)(도형 넓이 계산기 만들기)
2. 계산기 만들어보기(with class)
요구조건
- 설정한 숫자를 계산해줄 클래스를 선언해주세요
- 메소드를 호출해서 num1, num2를 설정할 수 있도록 해주세요
- 입력된 숫자의 더하기, 빼기, 곱하기, 나누기 연산 결과를 구하는 메소드를 생성해주세요
과제 링크 : [Python] 활용편 - 05 - Class 함수(2)(계산기 만들기 with class)
3. 프로필 관리 기능 만들어보기
요구조건
- 사용자들의 프로필을 관리할 수 있는 클래스를 선언해주세요
- 메소드를 호출해서 사용자의 프로필을 설정할 수 있도록 해주세요
- 사용자의 정보를 각각 출력할 수 있는 메소드를 만들어주세요
과제 링크 : [Python] 활용편 - 06 - Class 함수(3)(프로필 관리 기능 만들기)
클래스 확실히 할라구 과제 야무지게 했다..
728x90
반응형