Python을 사용하는 이유
- 문법이 간단하다.
- 다양한 분야 접목이 가능하다.
- 각 분야에 필요한 방대한 라이브러리를 보유하고 있다.
- 데이터분석에 관련한 프로젝트에서 파이썬을 우선시한다.
- 최신의 알고리즘을 많은 연구자들이 Python으로 배포하고 있다.
- 프로그래밍의 기초를 배울때 파이썬으로 많이들 시작하는 편이다.
자료의 타입
- 자료 : 프로그래밍(코딩)을 하는 대상을 '자료'라고 한다.
- 파이썬의 타입 : 정수(Int), 실수(Float), 불리언(Bool)
- 정수(Interger)
- int라고 표현
- 음수, 양수, 0 - 총3가지를 가지고 있다.
- 4비트를 할당한다.
- 속도가 느려진다.
type(0) # 파이썬의 정수는 int 라는 타입으로 저장이 된다.
In: print(type(0))
Out: <class 'int'>
2. 실수(Float)
- float라고 표현
- 소수점이 붙어있는 숫자들을 의미한다.
type(1.0) # 파이썬의 정수는 float 라는 타입으로 저장이 된다.
In: print(type(1.0))
Out: <class'float'>
3. 불리언(Bool)
- bool이라고 표현
- 참, 거짓을 표현하는 값(True, False)
- True = 1, False =0
In: print(type(True)) #1
Out: <class 'bool'>
In: print(type(False)) #0
Out: <class 'bool>
In: print(True + False + True)
Out: 2
문자열 String
- 문자와 문자열은 다른 개념이다.
- 파이썬에서는 문자와 문자열을 따로 구분하지 않고 string으로 취급한다.
- 파이썬에서 문자열을 표시하기 위해서는 시작과 끝에 큰따옴표(")나 작은따옴표(')를 지정한다.
In: print("hello")
Out: hello
In: print('hello')
Out: hello
- 문자열 이스케이프 : 문자를 사용할 때 충돌이 발생하는 경우를 막기 위해 역슬래시(\)뒤에 문자, 혹은 그 문자를 의미하는 약어를 사용한다.
\n: 줄바꿈 \t:탭 \\:\삽입 \":"삽입 \':'삽입
In: print("안녕하세요\n안녕")
Out: 안녕하세요
안녕
In: print("안녕하세요\t안녕")
Out: 안녕하세요 안녕
In: print("안녕하세요\\안녕")
Out: 안녕하세요\안녕
In: print('안녕하세요\'안녕\'')
Out: 안녕하세요 '안녕'
In: print("안녕하세요\"안녕\"")
Out: 안녕하세요 '안녕'
다양한 연산
- 파이썬을 통해 다양한 사칙연산을 할 수 있다.
+:더하기, -:빼기, *:곱하기, /:나누기, **:거듭제곱, %:나머지, //:몫
In: print(3+3)
Out: 6
In: print(5-2)
Out: 3
In: print(5*2)
Out: 10
In: Print(6/3)
Out: 2
In: Print(2**3)
Out: 8
In: Print(7%3)
Out: 1
In: Print(7//3)
Out: 2
- 논리연산자 : 불리언연산자라고도 불리며 논리연산에는 and, or, not이 있다.
- and : A and B -> A와B모두 참일때만 참이고 나머지는 거짓
- or: A or B ->A와 B중 하나라도 참이면 참이고, 둘다 거짓일때 거짓
- not: not A ->A가 참이면 거짓이고, 거짓이면 참
*And에서는 False가 가장 강한 성질을 가지고 있고, Or에서는 True가 가장 강한 성질을 가지고 있다.
ex)True and True - True
True and False - False
False and False - False
True or True - True
True and False - True
False and False - False
In: print(3>0 and 3<1) #True and False
Out: False
In: print (3>0 and 3<1) #True or False
Out True
- 비교연산자 : 두 개의 숫자를 비교하는 연산이다.
- == : 같다 (=는 프로그래밍 언어에서 할당연산자로 사용되기 때문에 =는 같다의 의미가 아님)
- != : 같지않다
- < : 작다
- > : 크다
- <= : 작거나 같다
- >=: 크거나 작다 *비교연산자의 우선순위 : not> and> or*
In: print(5==3)
Out: False
In: print(5!=3)
Out: True
In: print(5<3)
Out: False
In: print(5>3)
Out: True
In: print(5<=3)
Out: False
In: print(5>=3)
Out: True
In: print(3==0 and 4<0 or not(3==4)) #연산자 우선순위 생각하기
Out: True
타입변화
- 자료형을 알아서 지정해준다. ->type()로 확인할 수 있음
- 자유롭게 형을 변환할 수 있다. ->변수로 지정한 후 타입을 변환하기
a = 1
b = 1.0
c = '1'
In: print(type(a))
Out: class 'int'
In: print(type(b))
Out: class 'float'
In: print(type(c))
Out: class 'str'
<타입 변화시키기>
In: a=float(a) #정수였던 a를 float를 이용해 실수로 변화
print(a)
Out: 1.0
In: b=int(b) #실수였던 b를 int를 이용해 정수로 변화
print(b)
Out: 1
변수
- 값을 담는 그릇을 의미한다. 변수명을 정해 값을 할당할 수 있다.
- 변수를 만드는 규칙
- 문자, 숫자, 밑줄기호(_)를 이용하여 만든다. ex) a, book1, my_study
- 숫자로 시작하는 변수명은 만들 수 없다. ex)3tart (X)
- 대소문자를 구분한다. ex) Money와 money는 다른 변수
- 공백을 포함할 수 없다. ex)my study(X) -> my_study
- 밑줄기호(_)이외의 다른 기호는 변수에 이용할 수 없다. ex) mystudy% , my#study 등은 변수명이 될 수 없음
- 예약어(Reserved word)는 변수명이 될 수 없다. ex)None, True, calss 등은 변수명이 될 수 없음
In: a=사과
print(a)
Out: 사과
In: My_study = "최고"
print(My_study)
Out: 최고
시퀀스 타입
- 기본 타입(숫자, 문자열)을 여러개 모아서 하나의 자료형으로 관리하기 위한 방법이다.
- 파이썬에서 제공하는 시퀀스 타입 : 리스트, 튜플, 레인지
1. 리스트
- 하나의 이름에 값을 여러개 담을 수 있다.
- [ ]를 이용해 만든다.
In: score=[1,2,3,4,5,6]
print(score)
Out: [1,2,3,4,5,6]
- 가변형 타입으로 자료의 값을 변경할 수 있다.
append():리스트에서 항목하나를 맨마지막에 추가
insert(원하는자리값:데이터):리스트 특정 위치에 항목을 삽입
extend():리스트에서 항목 여러개를 맨마지막에 추가
remove():입력값과 첫 번째로 일치하는 항목을 리스트에서 삭제
pop():리스트에서 마지막 항목을 제거한 후에 반환
In: myfriends = ['James','Robert','Lisa','Mary']
print(myfriends)
Out: ['James','Robert','Lisa','Mary']
In: myFriends.append('Soo')
Out:['James','Robert','Lisa','Mary','Soo']
In: myFriends.insert(1,'Paul')
print(myfriends)
Out:['James','Paul','Robert','Lisa','Mary','Soo']
In: myFriends.extend(['Laura','Ellen')
print(myfriends)
Out:['James','Paul','Robert','Lisa','Mary','Soo','Laura','Ellen']
2. 튜플
- 하나의 이름에 값을 여러개 담을 수 있다.
- ()를 이용해 만든다.
- 불가변형 타입으로 자료의 값을 변경할 수 없다.
- 인자가 하나인 튜플은 뒤에 콤마(,)를 붙여줘야 한다. ex)tuple1 = (a,)
In: score=(1,2,3,4,5,6)
print(score)
Out: (1,2,3,4,5,6)
-Tip:인덱스와 슬라이스-
- 첫번째 원소의 인덱스가 0이고 순서대로 1씩 증가한다.
- 프로그래밍에서는 반복문을 활용한 인덱싱/슬라이싱을 많이 사용한다.
- 인덱스 : 원하는 인수를 뽑아내는 기능이다. print(변수명[원하는 인수의 자리값]) *이때 첫번째 인수의 자리값이 0 *끝자리에서 부터 셀때는 -1부터로 표시도 가능
In:a = [1,2,3,4,5,6]
print(a[3])
Out: 4
In:a = ["사과","과자","밥"]
print(a[0])
Out: 사과
In:a = [1,2,3,4,5,6]
print(a[-1])
Out: 6
*튜플에도 동일*
In:a = (1,2,3,4,5,6)
print(a[0])
Out: 1
In:a = ("사과","과자","밥")
print(a[2])
Out: 밥
In:a = (1,2,3,4,5,6)
print(a[-2])
Out: 5
- 슬라이스: 시퀀스 내에서 원하는 범위를 잘라서 가져오는 것을 말한다. print(변수명[시작인덱스:끝인덱스+1:간격]
In: a = [1,2,3,4,5,6,7]
print(a[0:4])
Out: [1,2,3,4]
#시작 위치가 생략되면 첫번째 인수부터를 의미한다.
In: a = [1,2,3,4,5,6,7]
print(a[:4])
Out: [1,2,3,4]
#마지막 위치가 생략되면 끝까지의 인수를 의미한다.
In: a = [1,2,3,4,5,6,7]
print(a[:])
Out: [1,2,3,4,5,6,7]
#간격은 생략하면 간격없이 쭉을 의미하고 간격을 넣으면 그 간격을 계산해서 나온 인수를 의미한다.
In: a = [1,2,3,4,5,6,7]
print(a[::2])
Out: [1,3,5,7]
In:a = ("사과","바나나","딸기","참외","메론","수박")
print(a[1:5:2])
Out: ('바나나','참외')
3. range
- 범위 내에서 수열을 생성하는 것을 말한다.
- range(시작점, 끝점+1,간격)으로 표기
#시작점은 생략이 가능하다.
In: list(range(10)
Out: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#간격은 생략이 가능하다.
In: list(range(1, 10)
Out: [1, 2, 3, 4, 5, 6, 7, 8, 9]
In: list(range(1, 10, 2)
Out: [1, 3, 5, 7, 9]
'<플레이데이터>부트캠프의 기록 > Python' 카테고리의 다른 글
Python_6 : 출력 문자열 꾸미기 (파이썬) (0) | 2022.07.11 |
---|---|
Python_5 : 나에겐 너무 어려웠던 While(파이썬) (0) | 2022.07.09 |
Python_4 : 이중 for문 이해하기 (파이썬) (0) | 2022.07.07 |
Python_3 : 파이썬 왕 초보의 첫 코드 만들기 (파이썬) (0) | 2022.07.06 |
Python_2 : 얕은복사와 깊은복사 (파이썬) (0) | 2022.07.05 |