목록BF 2024/자료구조 (20)
*************************************************************************************************** INDEX ** 딕셔너리란? 키(key)와 값(value)을 이용하여 자료를 관리한다 ** 딕셔너리 조회 ** keys() 와 values() ** 딕셔너리 추가 ** 딕셔너리 수정 ** 딕셔너리 삭제 ** 딕셔너리 유용한 가능 *************************************************************************************************** ** 딕셔너리란? 키(key)와 값(value)을 이용하여 자료를 관리한다 > {} 중괄호를 이용해서 선언하고, 키:값의 형태..
**오버라이딩(overriding) : 하위 클래스에서 상속받았던 상위 클래스의 메서드를 재정의하는 것을 말한다. ex) 포켓몬 피카츄.공격() -> 가라 피카츄! 포켓몬 라이츄.공격() -> 피카츄 진화, 가라 라이츄! ** 쉽게 생각해서, 상위 클래스의 함수를 사용하는 것이 아닌, 하위 클래스에서 동등한 이름으로 정의한 함수를 자체적으로 사용 하는 것 ** 과정 풀어써보기
** 다중 상속 > 하나의 클래스만 상속할 수 있는 것이 아니고, 내가 원하는 많은 클래스들을 상속 받을 수 있다. > 단일 상속 방법과 동일하게, 상속 받고 싶은 상위 클래스들을 괄호 안에 배열한다. > 예시에서는 all_round 클래스에 ad_carry와 mid, jungler 클래스를 상속받았다. class all_round(ad_carry,mid,jungler): ~~~ > 다중 상속을 너무 많이, 혹은 유사한 이름은 최대한 적게 쓰거나 자제할 필요가 있다. 아니면 엄격하게 구분해야 한다. > 다중 상속의 늪에 빠질 수 있다.
*******************************************************************************************************************INDEX ** 튜플이란? ** 튜플 아이템 조회 ** In , not in ** 튜플의 길이 ** 튜플의 결합 ** 튜플 슬라이싱 ** 리스트와 튜플 ** 튜플 아이템 정렬 ** 튜플과 for문의 조합 ** 튜플과 while문의 조합 ******************************************************************************************************************* ** 튜플이란? > 리스트 타입 ['ㅁ','ㅂ','ㄷ'] 튜플 ..
**************************************************************************************************************** INDEX ** 객체를 생성할 때 생성자를 호출하면, 생성자가 __init__ () 메써드를 자동 호출한다 ** __init__()은 속성을 초기화 한다 ** 상위 클래스 속성 초기화 방법 1, super()을 이용한다 ** 상위 클래스 속성 초기화 방법 2,상위 클래스의 __init__()메써드를 하위 클래스에서 발동 *********************************************************************************************************..
** 다른 클래스의 기능을 내 것처럼 사용하는 것. 클래스1 ^ ㅣ 클래스2가 클래스1을 상속한다 클래스 2 : 클래스2는 클래스1의 모든 기능을 사용할 수 있다. ^ ㅣ 클래스3이 클래스2를 상속한다 클래스 3 : 클래스3은 클래스2의 모든 기능을 사용할 수 있으며, 클래스2는 클래스 1의 모든 기능~. 따라서 클3은 클2 클1 모든 기능 사용 가능 ** 예시 phones > good_phones, 굿폰 클래스 에서 폰 클래스를 상속받아서 폰의 기능도 사용하고자 한다. ** class 하위클래스(상속할 상위 클래스): 식으로 클래스를 선언한다 * 굿폰 클래스의 객체에서도 폰 클래스의 기능을 사용할 수 있다는 것을 확인할 수 있다.
************************************************************************************************************** INDEX ** 리스트란? ** 리스트 아이템 조회 ** 리스트 길이 ** 리스트와 for 문 ** 리스트와 while 문 ** 리스트에 아이템 추가 ** 리스트의 특정 위치에 아이템 추가 ** 리스트의 아이템 삭제 ** 리스트의 특정 아이템 삭제 ** 리스트 연결 ** 리스트 아이템 정렬 ** 리스트 아이템 순서 뒤집기 ** 리스트 슬라이싱 ** 나머지 기능들 ***********************************************************************************..
** 여러 개의 데이터가 묶여있는 자료형을 컨테이너 자료형이라고 한다. 이러한 컨테이너 자료형의 데이터 구조를 자료구조라고 한다. coin1 = 500 coin2 = 100 coin3 = 50 coin4 = 10 coin5 = 1 -> 각각 관리 coins = [ 500, 100, 50, 10, 1 ] -> 묶어서 관리 ( 컨테이너 자료형 ) ** 자료구조는 각각의 컨테이너 자료형에 따라서 차이가 있으며, 대표적으로는 ** 리스트(list), 튜플(tuple), 딕셔너리(dictionary), 세트(set)가 있다. list -> coins = [500, 100, 50, 10, 1 ] # 자료 교체가 안됨 tuple -> coins = (500, 100, 50, 10, 1 ) dictionary -> c..
** 연산자란? 피연산자들 사이에서 연산을 실행하는 기호와 등호 result = data1 + data2 ** 연산자의 종류 산술 연산자 : ( +, -, *, / ):사칙연산 , % : 나머지만 구하는 , // : 몫만 구하는, ** : 거듭제곱 할당 연산자 : =, ( +=, -=, *=, /=, %=, //= ) 복합연산자 : 산술 연산 이후 할당 연산 비교 연산자 : >, >=, 문자열 문자열 문자열과 문자열 뺄셈 -> 불가능 숫자와 문자를 이용한 덧셈 -> 불가능 ** 곱셉 나눗셈 정수와 실수 곱/나눗셈 -> 실수 결과 , 어떤 수를 나누면 항상 결과는 float 이다. 분수 -> 실수형으로 표현 당연하다 문자열과 숫자 곱셈 -> 문자열 숫자만큼 반복 ** 나머지와 몫 divmod() 함수 re..
** %s : 문자형 ** %d : 정수형 ** %f : 실수형 ** 사용 방법 c+ 처럼 직접 '따옴표 안 %로 문자가 출현할 위치에' 출력 형식을 지정해주면 되는것 같다 print('user_name : %s' % user_name) print('user_age : %d' % user_age) print('user_name : %s, user_age : %d' % (user_name, user_age)) ** 소숫점 표현 역시 %.nf 식으로, 똑같다 ** 실습 예제 반지름을 실수형으로, 원주율을 소수점 아래 2자리 까지 지정하여 출력하고, 이후 원의 넓이를 구해서 소수점 둘째 자리까지 출력하세요 ** 복붙용 코드 radius = float(input("반지름을 입력하세요 : ")) pi = floa..
** format 문자열을 이용한 데이터 출력 # 1 print("help : {} ".format(variable)) # 2 print(f"help:{variable}" -> f for format ** "{0} , {1} , ... ".format(first, second, .. , last )) 로 인덱스를 활용하여 {}탭에 들어갈 format(변수) 순서도 지정할 수 있다