Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Intersect
- count
- merge
- 팀스파르타
- Sum
- sqld
- 여러 데이터 검색
- max
- if문 작성법
- difftime
- Dense_Rank
- 데이터분석
- 총과 카드만들기
- 상관관계
- 그래프 생성 문법
- sql
- 단순회귀 분석
- 정보획득량
- 데이터분석가
- 빅데이터
- loop 문
- 히스토그램 그리기
- 막대그래프
- 불순도제거
- 회귀분석 알고리즘
- 빅데이터분석
- 그래프시각화
- %in%
- 순위출력
- 회귀분석
Archives
- Today
- Total
ch0nny_log
[빅데이터분석] Python_28. 파이썬 상속 본문
복습1. 아래의 리스트에서 문자 b를 출력하시오.
k =['a','b','c','d']
k =['a','b','c','d'] k[1]
복습 2. 위의 리스트를 품고 있는 함수를 다음과 같이 만들고 실행하시오.
def search_k(num): k = [ 'a', 'b', 'c', 'd' ] result = k[num] return result print ( search_k(1) )
복습 3. 다음과 같이 search_k 에 자리번호를 k 리스트에 없는 번호를 넣었을때 에러가 나지 않고 해당 자리번호는 없습니다. 라는 메세지를 출력하도록 예외처리를 하시오 !def search_k(num): k = ['a', 'b', 'c', 'd'] try: # 리스트 인덱스에 접근을 시도 result = k[num] return result except IndexError: # IndexError가 발생할 경우 이 블록이 실행됩니다. return "해당 자리번호는 없습니다." # 테스트 print(search_k(1)) # 유효한 인덱스, 결과: 'b' print(search_k(5)) # 유효하지 않은 인덱스, 결과: '해당 자리번호는 없습니다.'
문제. cat이라는 클래스를 생성하는데 animal 클래스를 상속받아 생성하고 meow라는 메소드를 생성하고 실행하면 buddy가 야용하고 있습니다. 가 출력되게 하시오.
class Animal: # 부모 클래스 def __init__(self, name): # 생성자 메소드 self.name = name # 인스턴스 변수 def eat(self): # 인스턴스 메소드 print(f'{self.name} is eating delicious food') class Dog(Animal): # Dog 클래스가 Animal 클래스를 상속받음 def bark(self): print(f'{self.name} is barking.') class Cat(Animal): def meow(self): print(f'{self.name} 가 야옹하고 있습니다.') # Dog 클래스의 인스턴스를 생성하고 메소드 호출 dog = Dog('Buddy') dog.eat() dog.bark() cat = Cat('Buddy') cat.eat() cat.meow()
class Animal:
def __init__(self, name):
self.name = name
def eat(self):
print(f"{self.name}이(가) 먹고 있습니다.")
class Dog(Animal):
def eat(self):
print(f"{self.name}이(가) 개 사료를 먹고 있습니다.")
def bark(self):
print(f"{self.name}이(가) 짖고 있습니다.")
class Cat(Animal):
def eat(self):
print(f"{self.name}이(가) 고양이 사료를 먹고 있습니다.")
def meow(self):
print(f"{self.name}이(가) 야옹하고 있습니다.")
def feed_animal(animal):
animal.eat()
# 인스턴스 생성
dog = Dog("버디")
cat = Cat("위스커스")
# feed_animal 함수는 다형성을 활용하여 서로 다른 행동을 수행함
feed_animal(dog) # 출력: 버디이(가) 개 사료를 먹고 있습니다.
feed_animal(cat) # 출력: 위스커스이(가) 고양이 사료를 먹고 있습니다.
class Animal:
def sound(self):
pass # 기본 클래스는 아무 일도 하지 않습니다.
class Dog(Animal):
def sound(self):
print("멍멍")
class Cat(Animal):
def sound(self):
print("야옹")
class Bird(Animal):
def sound(self):
print("짹짹")
def make_sound(animal):
animal.sound()
# 각 동물 클래스의 인스턴스를 생성합니다.
dog = Dog()
cat = Cat()
bird = Bird()
# make_sound 함수를 사용하여 각 동물의 소리를 출력합니다.
make_sound(dog) # 출력: 멍멍
make_sound(cat) # 출력: 야옹
make_sound(bird) # 출력: 짹짹
class TeamLead:
def multiply(self, x, y):
return x * y
def divide(self, x, y):
return x / y
class Senior1(TeamLead):
def add(self, x, y):
return x + y
class Senior2(TeamLead):
def subtract(self, x, y):
return x - y
def divide(self, x, y):
if y == 0:
raise ZeroDivisionError("Cannot divide by zero.")
else:
return x / y
class Me(Senior1, Senior2): # Multiple inheritance (Senior1, Senior2 order)
def square(self, x):
return x ** 2
# 객체 생성 및 메서드 실행
me = Me()
# 각 메서드 호출 결과 주석 추가
print(me.add(3, 5)) # 8 (Senior1의 add 메서드: 3 + 5 = 8)
print(me.subtract(10, 4)) # 6 (Senior2의 subtract 메서드: 10 - 4 = 6)
print(me.multiply(2, 7)) # 14 (TeamLead의 multiply 메서드: 2 * 7 = 14)
print(me.divide(20, 5)) # 4.0 (Senior2의 divide 메서드 - 오버라이딩된 메서드: 20 / 5 = 4.0)
print(me.square(3)) # 9 (Me의 square 메서드: 3 ** 2 = 9)
class TeamLead:
def strong_legs(self):
print("힘찬 다리")
class Senior1(TeamLead):
def strong_right_arm(self):
print("힘찬 오른쪽 팔")
super().strong_legs() # self를 전달하지 않음
class Senior2(TeamLead):
def strong_left_arm(self):
print("힘찬 왼쪽 팔")
super().strong_legs() # self를 전달하지 않음
class Me(Senior1, Senior2):
def good_eyesight(self):
print("좋은 시력")
def display_skills(self):
self.strong_right_arm()
self.strong_left_arm()
self.good_eyesight()
# 사용 예시
me = Me()
me.display_skills()
답)
class Manager:
def plan(self):
print("전체 계획을 세웁니다.")
class Developer(Manager):
def work(self):
print("코드를 작성합니다.")
class Tester(Manager):
def work(self):
print("테스트를 수행합니다.")
class TechLead(Developer, Tester):
def daily_work(self):
super().plan() # 한 번만 계획을 세웁니다.
Developer.work(self) # Developer의 work 호출 (self 전달하지 않음)
Tester.work(self) # Tester의 work 호출 (self 전달하지 않음)
# 사용 예시
tech_lead = TechLead()
tech_lead.daily_work()
'빅데이터 분석(with 아이티윌) > python' 카테고리의 다른 글
[빅데이터분석] Python_30. 파이썬 웹 스크롤링2 (0) | 2024.08.13 |
---|---|
[빅데이터분석] Python_29. 파이썬 웹 스크롤링1 (0) | 2024.08.13 |
phython cbt 예상문제. (0) | 2024.08.12 |
[빅데이터분석] Python_27. 인스턴스 변수와 클래스 변수 (0) | 2024.08.09 |
[빅데이터분석] Python_26. 클래스 이해하기 (0) | 2024.08.09 |