반응형
본 포스팅은 패스트 캠퍼스의 [온라인] 데이터 사이언스 스쿨을 수강하며 학습한 내용을 정리한 것입니다.
데이터 사이언스 스쿨 온라인
대학교재보다 상세한 강의자료, 현직 실무자의 노하우까지 모두 얻어가세요 ! 이미 수많은 비전공자들이 데이터 사이언티스트로 커리어 전환에 성공한 바로 그 강의. 데이터 사이언스 스쿨 오프라인 정규 과정을 이제는 온라인에서 만나보세요!
www.fastcampus.co.kr
목차
1. 변수선언
2. 식별자
3. 데이터 타입
4. 형변환
5. 연산자
6. 연습문제 : 오늘의 운세 게임만들기
변수선언
아래 코드블럭과 같이 변수를 선언하고 a+b라는 연산을 수행할 경우, RAM에 a = 1과 b = 2를 할당하고, CPU에서 a + b 연산을 수행한다. 그리고 수행한 결과 값을 메모리의 c에 할당한다.
a = 1
b = 2
c = a+b
식별자
- 변수, 함수, 클래스, 모듈 등의 이름을 식별자라고 함.
- 식별자 규칙
- 소문자, 대문자, 숫자, 언더스코어(_) 를 사용함.
- 맨 앞에 숫자 사용 불가
- 예약어의 사용 불가 : def, class, try, except...
- 컨벤션
- snake case : fast_campus : 변수, 함수
- camel case : FastCampus, fastCampus : 클래스
데이터 타입
- RAM 저장공간을 효율적으로 사용하기 위해서 저장공간의 타입을 설정
- 동적 타이핑
- 변수 선언시 저장되는 값에 따라서 자동으로 데이터 타입이 설정
- Java나 C 처럼 변수명 앞에 int, String 등의 데이터 타입을 지정할 필요 없음
- 기본 데이터 타입 : int, float, bool, str
- 컬렉션 데이터 타입 : list(순서있음), tuple(순서있고 수정불가), dict(순서없고 key-value)
1) 기본 데이터 타입
a = 1
b = 1.2
c = True
d= "data"
type(a), type(b), type(c), type(d)
#결과 : (int, float, bool, str)
* 함수
- upper() : 대문자로 변환
- lower() : 소문자로 변환
- strip() : 공백 제거
- replace() : 특정 문자열 치환
name = " Writing Developer "
name.upper() # ' WRITING DEVELOPER '
name.lower() # ' writing developer '
name.strip() # 'Writing Developer'
name.replace("Wrting", "Drawing") # 'Drawing Developer'
- 오프셋 인덱스 : 마스크, 마스킹 : []
- 문자열은 순서가 있는 문자들의 집합
alphabet = "abcdefg"
g[2], g[-2], g[2:5], g[:2], g[3:], g[-2:], g[::3], g[::-1]
# 결과 : ('c', 'f', 'cde', 'ab', 'defg', 'fg', 'adg', 'gfedcba')
numbers = "123456789"
numbers[::-2], numbers[::2][::-1]
# 결과 : ('97531', '97531')
2) 컬렉션 데이터 타입
- list
- 순서가 있는 수정이 가능한 데이터 타입
- offset Index 사용이 가능함
- 함수
- append() : 가장 뒤에 값을 추가
- sort() : 오름차순으로 정렬
- pop() : 가장 마지막 데이터를 출력하고 출력한 데이터를 삭제
- 리스트의 복사
- 얕은복사(주소값 복사) : 주소값을 복사하기 때문에 수정할 경우, 모두 수정되는 경우가 발생한다.
- 깊은복사(copy() 이용) : 메모리에 새로운 저장공간을 만들기 때문에 수정하더라도 자신만 변화한다.
- tuple
- 순서가 있는 수정이 불가능한 데이터 타입
- 튜플은 리스틑보다 같은 데이터를 가졌을 때 공간을 적게 사용
- offset Index 사용이 가능함
- dict
- 순서가 없고 키:값 으로 구성되어있는 데이터 타입
형변환
- 데이터 타입을 변환하는 방법
- int, float, bool, str, list, tuple, list
- 변환하고자 하는 값 앞에 데이터 타입을 붙여줌
- ex : int(변수명)
- 함수
- zip : 같은 인덱스의 데이터 끼리 묶어주는 함수
cityList = ["seoul", "busan", "daegu"]
populationList = [9700000, 3400000, 2400000]
print(list(zip(cityList, populationList)))
print(dict(list(zip(cityList, populationList))))
# 결과
# [('seoul', 9700000), ('busan', 3400000), ('daegu', 2400000)]
# {'seoul': 9700000, 'busan': 3400000, 'daegu': 2400000}
연산자
- 산술 연산자 : +, -, , /, //, %, *
- 할당 연산자 : 특정 변수에 누적시켜서 연산 : +=, //=, **=
- 비교 연산자 : >, <, ==, !=, <=, >=
- 논리 연산자 : True, False를 연산 : or, and, not
- 멤버 연산자 : 특정 데이터가 있는지 확인 할 때 사용 : not in, in
연습게임
- 자신이 태어난 월을 입력하면 운세를 알려주는 게임 만들기
- dict를 활용해 키:값 형태의 월:운세 내용으로 변수 선언
- input()을 활용해 태어난 월을 입력받음
- 운세 발표
github : 02_basic_syntax.ipynb(학습내용), 20200325_fortuneGame.ipynb(연습게임) 참고
Seuleeee/python
Contribute to Seuleeee/python development by creating an account on GitHub.
github.com
반응형
'Python > Tutorial' 카테고리의 다른 글
[Python] 함수(3) - map, filter, reduce (0) | 2020.04.03 |
---|---|
[Python] 함수(2) - docstring, scope, inner function, lambda function (0) | 2020.04.03 |
[Python] 함수(1) - 기본 함수, parameter, argument, return, *args, **kwargs (0) | 2020.04.02 |
[Python] 반복문 - while, for, break, continue, list comprehention (0) | 2020.04.01 |
[Python] 조건문 - if, else, elif(else if) (0) | 2020.04.01 |