파이썬 기초 2

·2022년 9월 2일
0

TIL

목록 보기
5/46

python 매개변수

def add(num1, num2): #매개변수 parameter
    print(num1,num2)

add(1,2) #인자 argument

print(add)
  • 매개변수는 해당 함수안에서만 사용할 수 있다
    (함수가 끝나면 소멸한다)
    임시적인 변수를 선언해 주는 것으로 괄호 안에서 선언만 할 뿐 할당은 하지 않는다
    이 임시 변수들을 매개변수라고 한다
def call_names(*args): #여러 개 받으려면 (**args)
    for name in args:
        print(f'{name}야 밥먹어라~')

call_names('철수','영수','희재')

출력 결과

철수야 밥먹어라~
영수야 밥먹어라~
희재야 밥먹어라~

python class

class Monster():  #클래스 이름
    hp = 100 #변수
    alive = True #변수

    def damage(self, attack): #damage:메소드 attack:인수
        self.hp = self.hp - attack #메소드 처리
        if self.hp < 0:
            self.alive = False
# A클래스 정의
class A:
    def __init__(self): # __init__ (self 인수) 초기화
        self.name = "korea"

    def ping(self):
        print("ping:", self)


# A 클래스를 상속받는 B
class B(A):
    pass
  • 클래스 상속이란, 물려주는 슈퍼 혹은 부모 클래스(Parent Class, Super class)의 내용(속성과 메소드)을 물려받는 자식 클래스(Child class, sub class)가 가지게 되는 것임
  • 파이썬 언어에서는 부모 클래스와 자식 클래스가 같은 이름을 가지는 메소드에 대해서 오버라이드함
  • 클래스의 mro 속성을 통해 해당 클래스의 상속 순서를 확인할 수 있음
  • 특정 부모 클래스의 메소드를 자식 클래스에서 호출할려면 "부모클래스명.메소드명(self)"로 호출해야함

Python
input 대신 sys.stdin.readline을 사용할 수 있다. 단, 이때는 맨 끝의 개행문자까지 같이 입력받기 때문에 문자열을 저장하고 싶을 경우 .rstrip()을 추가로 해 주는 것이 좋다.

  • sys.stdin.readline()이 input()보다 빠른 이유
    : 개행문자를 안 떼고 프롬트 메시지도 안 받기 때문

수를 반복으로 입력받고 싶다면

  • for문 안에서 입력 받기
n = int(input())

for i in range(n):
    a,b = map(int,input().split())
    print(a+b)

오늘은 백준 풀면서 지난 강의 복습하는 시간을 가졌다.
오늘까지 풀면서 신경 쓰였던 문제는 오븐 문제, while 문 정도였는데 while보다는 for가 더 익숙해서 낯설었다. 오후 시간까지는 오늘 풀었던 반복문 단계를 한 번 더 풀어보고 저녁에는 배열을 풀어봐야겠다.

0개의 댓글