-
파이썬 기초 문법 - 1 (수, 텍스트, 자료구조)Programming & Machine Learning/Python X 머신러닝 2017. 7. 25. 17:23
1. 파이썬 기본 문법
파이썬에서 기초가 되는, 파이썬의 독특한 문법들을 대강 코드로 정리해봤다. 제어문이나 반복문은 파이썬에서만 사용되는 특징적인 부분을 나중에 정리해야겠다.1.1 수 다루기
### 2,16,10 진법 관련 # Ob xxxxx -> 2진법 # Oc xxxxx -> 16진법 # Ox xxxxx -> 10진법 # >>> bin(8) # '0b1000' # >>> hex(10) # '0xa' # >>> oct(10) # '0o12' ### math module import math # 여러 수를 표현 가능 math.pi math.e math.abs() # 절대값 round() # 반올림 math.trunc() # 버림
1.2 텍스트 다루기
a = "hello world!" b = "헬로 월드!" print("'어서와파이썬은처음이지?'", "ㅁㅇ", "adad") print("'어서와파이썬은처음이지?'" + "ㅁㅇ" + "adad") s = "Good Morning" s[0] s[0:7:2] # 0~6 index의 character에서, index의 간격은 2로, 값을 가져옴. s[0:-2] # 0~ 끝에서 거꾸로 2 index까지. s[-1::-1] # 문자열 역 'Good' in s # string search len(s) # string length a.startswith("he") # character 위치 찾기 - rfind는 뒤에서 부터, find는 앞에서부터 a.find("M") # 없을때 a.find("h") # 있을때 a.rfind("o") # 여러개 있을때 a.find("o") # 여러개 있을때 a.count("l") # 등장 횟수 검색 ' Left Strip '.lstrip() # 왼쪽 공백 제거 ' Right Strip '.rstrip() # 오른쪽 공백 제거 ' Strip '.strip() # 양쪽 공백 제거
1.3 자료 다루기
### list, format 관련 a = "Apple, Orange, Kiwi" b = a.split(',') type(b) type(b[0]) b[0][0] print("Hello %s" %"World") ### format, input 사용 a = 'My name is {0}. I am {1} years old.'.format('Mario', 40) a a = input() b = input() result = int(a)*int(b) print("{0} * {1} = {2}".format(a, b, result)) ### 비트 다루기 # 시프트 연산 a = 240 a << 2 a = 13 a << 2 # 비트 논리 연산 # 논리곱: 두 비트 모두가 1(참)이어야 결과도 1(참) 9 & 10 # 논리합: 둘 중 하나라도 참(1)이면 결과도 참(1) 9 | 10 # 배타적 논리합: 두 피연산자의 진리값이 서로 달라야 참(1) 9 ^ 10 # 보수 연산: 피연산자의 비트를 0에서 1로, 1에서 0으로 뒤집음. ~255
2. 파이썬 자료구조
1.1 리스트 자료구조
### 리스트의 생성 / 접근 a = ['김개똥', '박짱구', '이멍충'] a[0] ### 리스트의 슬라이싱 a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] a[0:5] # 0~4 index a[5:] # 5~end index a[:3] # 0~2 index ### 리스트 결합 a = [1, 2, 3, 5] b = [5, 6, 7] a+b ### 리스트 길이 a = [1, 2, 3] len(a) ### 리스트 조작 b2 = a # 얕은 복사 : 참조 b2 = a.copy() # 깊은 복사 : 내용 완전 복사 a = [1, 2, 3, 4, 5] a[2] = 30 ### 리스트 메소드 a = [1, 2, 3] a.append(4) # 뒤에 추가 a.extend([4, 5, 6]) # 뒤에 이어붙임 a.insert(2, 3) # 특정 위치에 삽입 a = ['BMW', 'BENZ', 'VOLKSWAGEN', 'AUDI', 'BMW'] a.remove('BMW') # 검색에서 발견한 첫번째 요소 삭제 a = [1, 2, 3, 4, 5] a.pop() # 마지막 요소 삭제 a = ['abc', 'def', 'ghi', 'def'] a.index('def') # 검색된 요소 첫번째 인덱스 추출 a = [1, 100, 2, 100, 3, 100] a.count(100) # 검색 결과 갯수 세줌 a = [3, 4, 5, 1, 2] a.sort() # a.sort(reverse = True) a = [3, 4, 5, 1, 2] a.reverse() # 뒤집음
1.2 튜플 자료구조
- List는 데이터 변경 가능(리스트 생성 후 추가/수정/삭제 가능)
- Tuple은 데이터 변경 불가능(튜플 생성 후 추가/수정/삭제 불가능)
- List는 이름 그대로 목록형식의 데이터를 다루는데 적합
- Tuple은 위경도 좌표나 RGB 색상처럼 작은 규모의 자료구조를 구성하기에 적합
### 튜플의 생성 a = (1, 2, 3) a = 1, 2, 3, 4 type(a) a = (1,) # 요소가 하나인 튜플 생성 a = (1) # 튜플이 아님 ### 슬라이싱 a = (1, 2, 3, 4, 5, 6) a[:3] ### 튜플 결합 a = (1, 2, 3) b = (4, 5, 6) c = a + b ### 변경 불가능 a = (1, 2, 3) a[0] = 2 ### 패킹과 언패킹 a = 1, 2, 3 one, two, three = a one a = [1,2,3] # 리스트 언패킹도 가능 one, two, three = a ### 메소드 a = ('abc', 'def', 'ghi', 'abc') a.index('abc') a.count('abc')
1.3 딕셔너리 자료구조
- 파이썬 자료구조의 꽃
- 딕셔너리는 key, value 의 묶음 형태로 구성된 자료구조. 리스트처럼 접근이 가능하면서 hash처럼 사용됨.
- 자료를 검색하기 위해 리스트처럼 순차적으로 모든 내용을 찾는 것이 아니라, key값을 검색하게 됨.
### 딕셔너리 생성 dic = {} dic['파이썬'] = 'www.python.org' dic['마이크로소프트'] = 'www.microsoft.com' dic['애플'] = 'www.apple.com' dic['파이썬'] dic ### 딕셔너리의 keys(), values() 메소드 dic.keys() dic.values(["a","b","c"]) ### 딕셔너리의 items() 메소드 dic.items() ### 딕셔너리의 in '애플' in dic.keys() 'www.microsoft.com' in dic.values() ### 딕셔너리의 pop, clear dic.pop('애플') dic.clear()
'Programming & Machine Learning > Python X 머신러닝' 카테고리의 다른 글
파이썬 기초 문법 - 4 ('_' 언더스코어의 의미) (0) 2017.07.27 파이썬 기초 문법 - 3 (클래스와 오브젝트) (0) 2017.07.27 파이썬 기초 문법 - 2 (함수와 모듈) (0) 2017.07.27 Install Python 3 + Anaconda(+tensorflow) + Jupyter on Mac OS (0) 2017.06.30 Django를 이용한 웹사이트 제작부터 배포까지 -1 (로컬 가상환경 구축 및 Django 프로젝트 시작) (0) 2017.06.29 댓글