[01 기초 자료형 II]
문자열/리스트 활용
- list.pop(i) : 인덱스 i의 원소를 제거 후 그 원소를 반환(return), 괄호를 비울 시 마지막 원소를 제거
- seq.count(d) : 시퀀스 내부의 자료 d의 개수를 반환
my_seq = [2,2,2,4,4] print(my_seq.count(2)) # 3
- str.split(c) : c를 기준으로 문자열을 쪼개서 리스트로 반환, 괄호를 비울 시 공백이 기준
my_str = "1 2 3 4 5" prin(my_str.split()) # element = "Na, Mg, Al, Si" print(element.split(',')) #
- str.join(list) : str을 기준으로 리스트를 합쳐서 문자열을 반환, 괄호를 비울 시 공백이 기준
my_list = ['a', 'p', 'p', 'l', 'e'] print(''.join(my_list)) # apple
튜플
- 리스트는 값이 바꾸는 것이 가능 = 값이 바뀔 위험이 있음
- 튜플은 여러 자료를 함께 함들 수 있는 자료형
- () - 소괄호로 묶어서 표현
개수가 하나면 ,를 꼭 붙여줘야 함
소괄호를 사용하지 않고 그냥 자료를 나열하면 파이썬은 튜플로 인식함
tuple_zero = () # 빈 튜플 tule_one = (1,) tuple = (1,2,3,4,5) tuple_ = 1,2,3,4,5
- 시퀀스 자료형으로 index를 이용한 인덱싱, 슬라이싱
- in 연산자, len 함수, + 연산자, * 연산자 사용 가능
- 자료를 추가하고 삭제하고 변경하는 것이 불가함
딕셔너리
- 짝꿍이 있는 자료형
- {} - 중괄호로 묶어서 표현
- {key:value}의 형식, key를 알면 value를 알 수 있음
person = {'name':'Michael', 'age':10} print(person['name']) # Michael print(person['age']) # 10
- key에 문자열을 사용하려면 똑같이 '' 써주어야 함
- 원소 추가, 삭제가 가능
person = {'name':'Michael', 'age':10} person['hometown'] = Seoul # 자료 추가 person = {'name':'Michael', 'age':10} del person['age'] # 원소 삭제 print(person) # {'name':'Michael'}
- key는 변할 수 없는 자료형이어야 함, 따라서 리스트는 안되고 튜플은 가능
datas = {[1, 2, 3]:'Alphabet'} # Error datas = {(1, 2, 3):'Number'} # OK
- c를 기준으로 또한 한 딕셔너리 내에 2개 이상의 동일한 Key가 있어선 안 됨
[02 함수와 메서드]
전역 변수와 지역 변수
- 전역 변수는 어디서든지 사용할 수 있는 변수 = 함수 밖에서 정의된 변수
- 지역 변수는 특정 구문(for문, 함수...) 안에서 정의한 변수 = 변수를 정의한 범위에서만 사용이 가능
메서드(Method)
- 특정 자료에 대해 특정 기능을 하는 코드 (자료 뒤에 .을 찍어 사용)
my_list = [1,2,3] my_list.append(4) my_list.count(2) my_list.pop()
- 함수는 특정 기능을 함
my_list = [1,2,3] len(my_list) sum(my_list) min(my_list)
- 메서드 .sort()와 내장 함수 sorted()의 차이 : .sort()는 특정 자료를 순서대로 정렬해 반환하지만 sorted()는 정렬된 결과를 반환하고 본체는 변형하지 않음
a = [1, 10, 4, 7, 6] a.sort() print(a) # [1, 4, 6, 7, 10] x = [1 ,11, 2, 3] y = sorted(x) print(x) # [1, 11, 2, 3] print(y) # [1, 2, 3, 11]
인자와 매개변수
- 매개변수(parameter) : 함수를 정의할 때(만들 때) 넘겨받은 값을 관리하는 변수
- 인자(argument) : 함수를 호출할 때(사용할 때) 함수로 넘겨주는 자료
변수 이름 규칙
- 숫자로 시작하면 안 됨
- 숫자로만 구성되면 안 됨
- 파이썬 문법에서 사용되는 예약어
- 공백 문자와 연산자 사용 금지변수 이름 규칙
[03 모듈과 패키지]
모듈
- 모듈은 특정 목적을 가진 함수와 자료의 모임
- 모듈의 필요성 : 코드의 길이가 너무 길어지는 것을 방지하며 누군가 만들어놓은 함수, 변수를 사용하여 편리성 향상
- 원하는 내용이 담긴 모듈을 .py(파이썬 파일)로 만들 수 있음
- 만든 모듈은 필요할 때 import로 불러와 함수와 변수를 사용할 수 있음
(파일 이름에서 .py를 빼고 호출) - import random을 호출하고
random.randrange(start, end) : start부터 end까지의 숫자 중 하나를 랜덤하게 출력
패키지
- 모듈을 폴더(Directory)로 구분하여 관리하는 것
- 패키지의 필요성 : 모듈을 편리하게 관리하기 위해서
- 사용 방법 1 : import를 이용해서 폴더를 불러온 후 함수 실행
ex) import user.cal # user 폴더 안의 cal.py 모듈 import
print(cal.plus(3,4)) - 사용 방법 2 : from-import 사용, 함수나 변수 사용시 .을 써주지 않아도 됨
다만 현재 파일 내에 해당 함수나 변수의 이름이 있다면 충돌이 일어나므로 주의
ex) from user.cal import plus # user 폴더 안의 cal.py 모듈로부터 plus 함수 import
print(plus(3,4))
[04 객체의 세계로]
객체
- 객체는 성질과 할 수 있는 행동이 담긴 자료
ex) 성질 - 이름: 성진, 나이: 21, 사는 곳: 서울 ...
행동 - 밥 먹기, 운동하기, 잠자기 ...
클래스와 인스턴스
- 클래스는 객체를 만들 수 있는 틀
- 필드는 객체가 가지고 있는 성질 = 객체가 가지고 있는 변수
- 메서드는 객체가 할 수 있는 행동 = 객체가 할 수 있는(안에 선언된) 함수
- self : 메서드라면 가져야 하는 첫 번째 매개변수로 객체 자기 자신을 나타냄, 매개변수의 이름을 self가 아닌 다른 이름으로 지어도 무관하지만, 관습적으로 self로 명명함
class Human: name = "" age = 0 def exercise(self): print("스쿼시!")
- 매개변수의 이름을 self가 아닌 다른 이름으로 지어도 무관하지만, 관습적으로 self로 명명합니다.
- 인스턴스는 객체를 만들 수 있는 틀(클래스)로 찍어낸 객체
- 인스턴스의 변수와 메서드는 인스턴스.변수 혹은 인스턴스.메서드()로 불러옴
- 클래스는 상속이 가능함, class 클래스명(상속할 클래스명)으로 상속
객체 선언은 객체명 = 클래스명(매개변수...)의 형식을 따름
class Pet: attr = "cute" def cry(): return "멍멍!" class Dog(Pet): pass # 아무런 동작도 하지 않음, 오류 방지 maltese = Dog() print(maltese.attr) # cute
- 다형성 : 같은 모양의 코드가 다른 역할을 하는 것, 다형성을 통해 유사한 역할을 하는 필드와 메서드를 같은 이름으로 관리할 수 있음
class Car: type = "자동차" horsePower = 100 class Lamborghini(Car): horsePower = 700 # Car 클래스를 상속받아 horsePower 겂을 재지정 aventador = Lamborghini() print(aventador.type) #자동차 print(aventador.horsePower) #700
'코딩 테스트 스터디 > 엘리스 이론 강의' 카테고리의 다른 글
실습으로 배우는 파이썬 下 (클래스~응용편) (0) | 2022.02.05 |
---|---|
실습으로 배우는 파이썬 上 (프로그래밍 첫발 내딛기~모듈) (0) | 2022.02.01 |
도레미 파이썬 Vol. 1 (0) | 2022.01.25 |