1) 기본 자료형
- 논리형 : True, False -> 자바는 true, false임
2) 컬렉션 자료형
> 시퀀스 자료형 : 문자열형, 리스트형, 튜플형
> 비시퀀스 자료형 : 세트형, 딕셔너리형
< 세트형>
- 중복된 원소를 허용하지 않는 집합의 성질을 가지고 있음
s = {1,2,3} 이런 형식으로 { } 로 이루어짐.
a = "Korea 123"
print(a.split())
print(a.split(sep='1'))
- ['Korea', '123']
- ['Korea', '23']
3) split 함수
str = "1,2,3"
print(str.split(","))
- 문자열에서 , 기준으로 나눠서 리스트 만들어라
4) 슬라이싱
- 시퀀스 자료형에서 여러 개의 데이터에 동시에 접근하는 기법이다.
a = [4,2,7,3,5]
print(a[0:4:2])
- 0번지부터 3번지까지 2개씩 끊어서 슬라이스 = > [4,7]
5) 입출력 함수
print에는 end = '\n' 가 자동적으로 들어가 있어서 따로 지정하지 않아도 개행되어 출력된다.
print(1, end=" ")
print(2)
1 2 이렇게 출력된다.
6) f 문자열을 이용한 변수 출력
- 문자열 앞에 f를 붙이면 중괄호와 변수 이름만으로 문자열에 원하는변수를 삽입할 수 있다.
a = 4
b ='A'
c = 5
print(f"a는 {a}, b는 {b}입니다.")
print(f"{a+b}")
=> a는 4, b는 A입니다.
=> 9
7) 연산자
< Swap 연산자 >
a,b = 10,20
a, b = b, a
print(a)
print(b)
- a에 있는 값과 b에 있는 값을 교환
< 산술 연산자 >
- 3/2 : 1.5 -> 결과 ======> !!!!!!!!!!!!!!! 소수점이 있는 실수형 데이터임. (4.0 //2 하면 값은 2.0 나옴)
- 3//2 : 1 -> 몫
- 3**2 -> 3의 2승
- 3%2 -> 나머지
8) 람다 함수
- 함수 이름 없이 동작하는 함수
<일반 람다 함수>
lambda 매개변수 : 표현식
def f(n):
return lambda a:a*n
k = f(3)
print(k(10))
<내장함수 이용한 람다함수>
[ map ]
a = [1,2,3,4,5]
m = list(map(lambda num : num +100, a))
print(m)
- > [101,102,103,104,105]
[ filter ]
a = [1,2,3,4,5]
m = list(filter(lambda num : num >2 , a))
print(m)
-> [3,4,5]
9) self
- 함수명에 입력받을 값 앞에 self라는 키워드를 적어야한다.
class CodeBlock:
def setS(self, a):
self.a = a
def getS(self):
return self.a
a = CodeBlock
a.setS(5)
print(a.getS())
10) 생성자
- 정의 => __init__을 사용함
class 클래스명:
def __init__(self, 매개변수):
명령어
11) 소멸자
- 정의 => __del__을 사용함
class 클래스명:
def __del__(self):
명령어
12) 클래스 상속
class 부모_클래스명 :
...
class 자식_클래스명(부모_클래스명):
[오답]
1)
def fn(str, k):
s = str.split('T')
return s[k]
str = "ITISTESTSTRING"
k = 3
result = fn(str, k)
print(result)
- T를 기준으로 나누게되면
s[0] = I
s[1] = IS
s[2] = ES
s[3] = S
s[4] = RING
이렇게 된다.
2)
문자형은 str 형이다.