1. 클래스와 메서드
# 클래스와 메서드
#
class Person():
# name = ""
def __init__(self, input_name, age=0, gender=None) -> None:
# 이름, 나이, 성별
print(input_name)
self.name = input_name
self.age = age
self.gender = gender
self.print_infos()
# return 0 #되돌려 줄 값(주소값)이 정해져 있기 때문에
# 초기화 메서드(__init__)는 return을 반드시 None으로 해주어야한다.
def print_infos(self):
print(self.name, self.age, self.gender)
if __name__ == "__main__":
# 객체화
# 클래스라는 개념을 실체화한(구체화한)
# 대상을 만드는 것이다.
hong = Person("honggildong", gender="남")
kim = Person("kimC",30, "여")
# print(hong.name)
# print(kim.name)
# print(hong)
# print(kim)
-->
#honggildong
#honggildong 0 남
#kimC
#kimC 30 여
1-1) 클래스와 메서드
# 클래스와 메서드
#
class Person():
# name = ""
def __init__(self, input_name, age=0, gender=None) -> None:
# 이름, 나이, 성별
print(input_name)
self.name = input_name
self.age = age
self.gender = gender
self.print_infos()
# return 0 #되돌려 줄 값(주소값)이 정해져 있기 때문에
# 초기화 메서드(__init__)는 return을 반드시 None으로 해주어야한다.
def print_infos(self):
print(self.name, self.age, self.gender)
if __name__ == "__main__":
# 객체화
# 클래스라는 개념을 실체화한(구체화한)
# 대상을 만드는 것이다.
hong = Person("honggildong", gender="남")
kim = Person("kimC",30, "여")
# print(hong.name)
# print(kim.name)
# print(hong)
# print(kim)
-->
#honggildong
#honggildong 0 남
#kimC
#kimC 30 여
1-2)학생 클래스 만들어서 수학점수 출력
# 학생 클래스를 만들어서
class Student():
# 수학점수, 영어점수, 국어점수를 입력받아
math = 80
eng = 70
kor = 85
def __init__(self, math, eng, kor) -> None:
# 각각 math, eng, kor 변수에 담아서
self.math = math
self.eng = eng
self.kor = kor
def get_math(self) -> None:
return self.math
def set_math(self, math):
self.math = math
return
# 객체를 생성하면서 수학점수, 영어점수, 국어점수를 입력받아
# 외부에서 접근하여 출력해보자.
if __name__ == "__main__":
# 객체 생성 kim
kim = Student(math=80, eng=85, kor=70)
# 객체에 접근하여 math 점수 출력
print(kim.math)
print(kim.get_math())
#객체에 접근하여 메서드 사용하기
kim.set_math(100)
print(kim.get_math()) #100
-->
#80
#80
#100
1-3) import 해오기
# import class_task
# import
# import는 현재 작성중인 파일과
# 같은 폴더 내에 있는 다른 파일(모듈)을 가져오는 방법이다.
# 이때, 해당 파일(모듈) 전체가 아니라
# 그 모듈 내의 요소(함수, 클래스, 변수, 상수)만
# 들고 오고 싶다면,
from class_task import Student as St1
# from 에 모듈명을 적고
# import에 가져오고자 하는 요소를 적어서
# 가져올 수 있다.
from class_basic import Student as St2
# 만약 가져온 요소의 이름을
# 다른 이름으로 부르고 싶다면
# as를 사용하여 별칭을 부여할 수 있다.
if __name__ == "__main__":
kim2 = St1(80, 80, 80)
print(kim2.get_math())
1-4) 함수 예시
# 함수
# 외부에서 매개변수에 담을 값을 전달받아
# 매개변수로 처리할 로직을 작성해놓은
# 추상적인 기능 블록을 의미한다.
def add_nums(num1, num2):
return num1 + num2
print(add_nums(num1=3, num2=5))
# 두 개의 숫자와 연산자를 문자열로 입력받아
# 문자열 연산자에 따라 결과값을 다르게 return하는 함수 만들기
def calculator(num1, num2, oper):
# oper -> "+", "-", "*", "/"
answer = 0
# oper의 값이 "+"이면
if oper == "+":
# answer에 num1과 num2를 더한 값을 저장한다.
answer = num1 + num2
# elif? 동시에 일어나진 않네?
# oper의 값이 "-"이면
elif oper == "-":
# answer에 num1에서 num2를 뺀 값을 저장한다.
answer = num1 - num2
# 위의 과정을 거쳐서 저장된 answer의 값을
# 외부로 돌려준다.
return answer
print(calculator(3, 5, "+") == 8)
print(calculator(5, 3, "-") == 2)
print(calculator(3, 5, "*") == 15)
print(calculator(10, 2, "/") == 5)
-->
#8
#True
#True
#False
#False
1-5) 리스트 컴프리헨션
#리스트 커프리헨션(comprehension)
# 대괄호에 for 문 내용을 한 줄로 압축해서
# 그 결과 나오는 값들을 요소로 하는
# 새로운 리스트를 만드는 문법
new_list = [e for e in range(10)]
# 0부터 9까지의 숫자 값들을 요소로 하는 새로운 리스트 생성
print(new_list)
new_list1 = [e+1 for e in range(10)]
print(new_list1)
# 반복할 수 있는 객체(iterable object)의 요소에
# 반복적인 작업을 간단하게 할때 사용하기도 한다.
[print(e*10) for e in new_list]
# for e in new_list
# print(e) 형태와 같다
# 리스트 컴프리헨션 with if
# 리스트 컴프 뒤에 if 문을 붙여서
# 조건을 만족하는 요소에 대해서만
# 반복작업을 수행할 수 있다.
even_list = [e for e in range(100) if e % 2 == 0]
print(even_list)
-->
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
#0
#10
#20
#30
#40
#50
#60
#70
#80
#90
#[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
728x90
LIST
'파이썬(python) 강의 메모 및 실습' 카테고리의 다른 글
파이썬 -상속 및 함수 (0) | 2024.12.01 |
---|---|
파이썬-함수 (0) | 2024.12.01 |
파이썬 반복문과 리스트 (0) | 2024.12.01 |
파이썬 제어문_조건문 (0) | 2024.12.01 |
파이썬 형변환 (0) | 2024.12.01 |