본문 바로가기

교육/Pyhotn 180709-180713

1일차

교육위한 설치 프로그램들

파이썬 인터프리터

파이참 Edu - 무료버전. 프로페셔널 대비 웹개발 관련 기능 빠짐. Community 버전 이후 나온 것으로 동일함

신규 프로젝트 생성 시, virtualenv 에 기존의 python 인터프리터의 내용을 복사해서 사용한다.

이 부분이 싫으면 Existing interpreter > System Interpreter 를 활용하면 기존에 설치된 인터프리터를 사용한다


파이참 단축키

ctrl + shift + f10 : Run

ctrl + / : 주석처리


데이터타입

기본데이터 - 정수, 실수, bool, 복소수, None

복합데이터 - str, bytes, 리스트,튜플, 세트, 딕셔너리


False => None, 0, '', [] 비어있는 애들은 모두 False 로 간주됨


순서있는( str, bytes, 리스트, 튜플 ) --> 인덱스, 슬라이싱

순서없는( 세트, 딕셔너리 ):  인덱스X, 슬라이싱X


mutable(데이터 수정(추가,삭제)): 리스트, 딕셔너리, bytearray, set

immutable (테이터 수정 X): str, bytes, 튜플 , frozenset


list = []

tuple = () # unpacking, packing 

set = {} # 키와 값이 같은 dict, 중복 데이터 생략됨, 집합(교,합,차집합 등)연산 가능

dict = {}


슬라이싱 [시작인덱스:끝인덱스:증가치]

s = "abcdefd"

print(s[1: 4]) # bcd 출력됨

print(s[1: 4: 2]) # bd 출력됨


데이터 읽기/쓰기

# byte > string 변환, 장치 < 호스트. 호스트가 전달한 데이터를 읽을 때

s = b'abc'

s = s.decode(encoding='utf-8') # s = str(s, encoding='utf-8')

print(s)

print(type(s))


# string > byte 변환. 장치 > 호스트. 호스트로 전달할 데이터를 만들 때

s1 = 'abc'

s1 = s1.encode(encoding='utf-8') # s1 = bytes(s1, encoding='utf-8')

print(s1)

print(type(s1))


삼항연산자 ( ? : ), 단항연산자 (++, --), switch-case 미지원

삼항연산자 대체 가능한 문법
a = 5
rst = 100 if a>0 else 200  # 100
rst = (100,200)[a>0] # 200
rst = {True:100, False:200}[a>0] # 100

switch-case 대체 가능한 문법
d = {6: "F", 7: "D", 8: "C", 9: "B", 10:"A"}
jumsu = int(input("점수:"))
print(d.get(jumsu / 10, "F"))

출력 string format

a, b, c = 10, 3.14, 'abc'
print('a=%10d b=%10.2f c=10%s'%(a,b,c))

t = (10, 3.14, 'abc')
print('a=%10d b=%10.2f c=%10s'%t)
print('a={0:>10} b={1:10.3} c={2:>10}'.format(*t))

d = {'name':'홍길동', 'age': 20}
print('이름:%(name)10s 나이:%(age)10d'%d)
print('이름:{name:>10} 나이:{age:10}'.format(**d)) # 문자열은 기본 왼쪽정렬이라 > 로 우측정렬 함

print('line1', 'line2', 'line3', sep='\n')

print('='*50)

내장함수

ord(문자) > ASCII 10진값 출력

chr(ASCII) > ASCII 를 문자로 출력

type(변수) > 변수의 type을 return함 # str, int, float, list, dict, set, tuple, bytes 등



collections

Counter - 요소들의 개수 구하기

OrderedDict - 순서보장된 Dict

deque - 양방향 입출력 가능한 queue

'교육 > Pyhotn 180709-180713' 카테고리의 다른 글

4일차 sqlite  (0) 2018.07.12
4일차 python 확장 - C 언어  (0) 2018.07.12
3일차 library  (0) 2018.07.11
3일차 Class  (0) 2018.07.11
2일차 module  (0) 2018.07.10