02-4 튜플 자료형

튜플?

[] 대신 ()를 사용하고 수정이 불가능 하다는 점에서 리스트와 차이가 있음

튜플 다루기

수정이 안되는 것 외에 리스트와 동일하므로 사용도 리스트와 비슷

인덱싱, 슬라이싱, 더하기, 곱하기, 길이 구하기

# 02-4 튜플자료형
t1 = ()
t2 = (1, ) # 요소 한 개 가질 때 뒤에 반드시 콤마 필요 (리스트는 안그래도 됨)
t3 = (1, 2, 3)
t4 = 1, 2, 3 # 괄호 생략 가능
t5 = ('a', 'b', ('ab', 'cd'))
print(t1)
print(t2)
print(t3)
print(t4)
print(t5)
# 튜플 요소 삭제 시도
#del t3[1]
# 튜플 요소 수정 시도
#t3[1] = 'a'

# 튜플 다루기
# 인덱싱
t1 = (1, 2, 'a', 'b')
print(t1[0])
print(t1[3])
# 슬라이싱
print(t1[1:])
# 더하기
t2 = (3, 4)
print(t1 + t2)
# 곱하기
print(t2 * 3)
# 길이 구하기
print(len(t2))

02-5 딕셔너리 자료형

딕셔너리?

key = value와 같이 대응관계를 나타낼 수 있는 자료형

연관배열 또는 해시(Hash)

리스트나 튜플처럼 순차적으로 요솟값을 구하지 않고 key를 통해 value를 얻는다.

딕셔너리 만드는 법

 

 

'강의 > Python' 카테고리의 다른 글

02. 파이썬 프로그래밍의 기초, 자료형(1)  (0) 2020.06.30
01. 파이썬이란 무엇인가?  (0) 2020.06.30
00. 프로그래밍 기본  (0) 2020.06.30
자료형이란?

data type

1 + 1 = 2

'1' + '1' = '11'

자료형에 따라 연산의 결과가 달라진다

변수란?

값을 담는 상자

a = 3

a라는 숫자 자료를 a라는 상자(변수)에 담는다

수학에서의 등호랑 다른 의미

ex) a = a + 1

오른쪽에 있는 값을 왼쪽의 변수에 담는다. 대입한다.

02-1 숫자형

  • 정수형(1, 2, -2) int
  • 실수(1.24, -24.56) float (수직선 위에 나타낼 수 있는 수로, 유리수와 무리스 전체를 총칭하여 확장한 수)
  • 컴퓨터식 지수 표현 방식(4.24e10, 4.24e-10)
  • 8진수(0o37)
  • 16진수(0x7A)

숫자형 사용하기 예제

숫자형 활용하기 위한 연산자 : +, -, *, /, **, //, %

연산자 사용하는 예제

02-2 문자열 자료형

문자열(String) : 문자, 단어 등으로 구성된 문자들의 집합

문자열 자요형 만드는 4가지 방법

"hello world"

'python is fun'

"""Life is too short, You need python"""

'''Life is too short, You need python'''

왜 네가지나 방법이 필요할까?

문자열 안에 ', " 들어갈 수 있으니..

여러라인에 걸쳐 문자열을 작성할 수 있으니..

 

이스케이프 코드

프로그래밍 할 때 사용할 수 있도록 미리 정의해 둔 '문자 조합'

주로 출력물을 보기 좋게 정렬하는 용도로 사용

\n, \t, \\, \', \" 정도만 알면 됨

문자열 연산

문자열 더하기

문자열 곱하기

문자열 길이 구하기 len(a)

문자열 인덱싱과 슬라이싱

indexing 색인하기, 가리키기 : 번호는 0부터 시작함, 뒤에서부터는 -1 부터 시작

slicing 잘라내기

a[시작번호(이상):끝번호(미만):간격]

문자열 포매팅

형식, 틀

문자열 안의 특정한 값을 바꿔야 할 경우가 있을 때 이것을 가능하게 해주는 것이 바로 포매팅

문자열 안에 어떤 값을 삽입하는 방법

%d, %s

숫자+% 표현 방법 : %d%%

포맷코드와 숫자 같이 사용하는 것 : 살펴는 보지만 사실 많이 쓰이진 않음

format 함수는 사용한 포매팅

문자열 관련 함수

count

find

index

join

upper

lower

lstrip

rstrip

strip

replace

split

02-3 리스트 자료형

odd = [1, 3, 5, 7, 9]
print(odd)

# 여러가지 생김새의 리스트
a = []
b = [1, 2, 3]
c = ['Life', 'is', 'too', 'short']
d = [1, 2, 'Life', 'is']
e = [1, 2, ['Life', 'is']]

# 리스트의 인덱싱
a = [1, 2, 3]
print(a)
print(a[0])
print(a[0] + a[2])
print(a[-1])

a = [1, 2, 3, ['a', 'b', 'c']]
print(a[0])
print(a[-1])
print(a[3])
print(a[-1][0])
print(a[-1][1])
print(a[-1][2])

# 리스트의 슬라이싱
a = [1, 2, 3, 4, 5]
print(a[0:2])
# 스트링의 슬라이싱과 비교
a = "12345"
print(a[0:2])

a = [1, 2, 3, 4, 5]
b = a[:2]
c = a[2:]
print(b)
print(c)

# 중첩된 리스트의 슬라이싱
a = [1, 2, 3, ['a', 'b', 'c'], 4, 5]
print(a[2:5])
print(a[3][:2])

# 리스트 연산하기
# 1. 더하기(+)
a = [1, 2, 3]
b = [4, 5, 6]
print(a+b)
# 2. 리스트 반복하기(*)
a = [1, 2, 3]
print(a*3)
# 3. 리스트 길이 구하기
a = [1, 2, 3]
print(len(a))

# 리스트의 수정과 삭제
a = [1, 2, 3]
a[2] = 4
print(a)

a = [1, 2, 3]
del a[1]
print(a)

a = [1, 2, 3, 4, 5]
del a[2:]
print(a)

# 리스트 관련 함수
# append
a = [1, 2, 3]
a.append(4)
print(a)
a.append([5, 6])
print(a)

# sort
a = [1, 4, 3, 2]
a.sort()
print(a)
a = ['a', 'c', 'b']
a.sort()
print(a)

# reverse
a = ['a', 'c', 'b']
a.reverse()
print(a)

# index
a = [1, 2, 3]
print(a.index(3))
print(a.index(1))
# 존재하지 않는 원소 인덱싱
#print(a.index(0))

# insert
a = [1, 2, 3]
a.insert(0, 4)
print(a)
a.insert(3, 5)
print(a)

# remove
# 처음 발견하는 요소 삭제
a = [1, 2, 3, 1, 2, 3]
a.remove(3)
print(a)
a.remove(3)
print(a)

# pop
a = [1, 2, 3]
a.pop()
print(a)
a = [1, 2, 3]
a.pop(1)
print(a)

# 요소 삭제하는 세가지 방법 -> del, remove, pop

# count
a = [1, 2, 3, 1]
print(a.count(1))

# extend
a = [1, 2, 3]
a.extend([4, 5])
print(a)
b = [6, 7]
a.extend(b)
print(a)

# append와 extend의 차이는?

 

'강의 > Python' 카테고리의 다른 글

02. 파이썬 프로그래밍의 기초, 자료형(2)  (0) 2020.07.05
01. 파이썬이란 무엇인가?  (0) 2020.06.30
00. 프로그래밍 기본  (0) 2020.06.30

01-1 파이썬이란?

  • 귀도 반 로섬이 취미로 만든 프로그래밍 언어
    • 1991년 최초 발표
    • 2000년 python2, 2008년 python3
  • 구글에서 만들어진 소프트웨어 50% 이상이 파이썬
  • 드롭박스, 인스타그램
  • 이해하기 쉬워 공동 작업과 유지보수가 편함

01-2 파이썬의 특징

  • 파이썬은 인간다운 언어이다
    • if 4 in [1,2,3,4]: print("4가 있습니다")
  • 파이썬은 문법이 쉬워 빠르게 배울 수 있다
    • 대학교 교양 강의로 파이썬 활용
    • 프로그래밍 유경험자라면 1주일이면 충분
  • 파이썬은 무료이지만 강력하다
    • 사용료 걱정없이 언제 어디서든 파이썬을 다운로드하여 사용(오픈소스)
    • 파이썬과 C는 찰떡궁합(접착언어)
      • 상대적으로 쉽지만 느린 파이썬 + 빠른 C언어 조합 가능
    • 파이썬 라이브러리들 중에는 C로 만들어진 것도 많다
      • NumPy : C 라이브러리를 python에서 쓸 수 있도록 래핑
      • 라이브러리 : 파이썬 프로그램을 작성할 때 불러와 사용할 수 있는 미리 만들어 놓은 파이썬 파일 모음
  • 파이썬은 간결하다
    • 파이썬은 가장 좋은 방법 한가지만 이용하는 것을 선호
    • 실행이 되게 하려면 꼭 줄을 맞추어야 한다
  • 파이썬은 개발 속도가 빠르다
컴파일 언어 vs 인터프리터 언어

C언어 : 컴파일 언어

프로그래밍 언어로 작성한 파일이 있으면 컴파일러가 컴파일(번역)을 해서 0과 1로 된 실행 파일을 만든다

Python : 인터프리터 언어

한 줄씩 소스 코드를 해석해서 그때그때 실행해 결과를 바로 확인할 수 있는 언어

print('hello')

print('world')

인터프리터를 통해 한줄 씩 읽기 때문에 느림

01-3 파이썬으로 무엇을 할 수 있을까?

프로그래밍 언어를 단순히 좋다 나쁘다 나눌 수 없음

언어별로 장단점이 존재하기 때문에 용도에 맞는 언어를 선택해서 사용하는 것이 중요함

  • 파이썬으로 할 수 있는 일
    • 시스템 유틸리티 제작(컴퓨터 사용에 도움을 주는 여러 소프트웨어 ex 압축해제, 디스크관리 등)
    • GUI 프로그래밍
    • C/C++와의 결합
    • 웹프로그래밍
    • 수치 연산 프로그래밍
      • 사실 파이썬은 수치 연산에 적합하지 않지만, NumPy라는 관련 모듈을 통해 수치 연산 프로그래밍을 빠르게 할 수 있음 (NumPy는 C 기반이므로..)
    • 데이터베이스 프로그래밍(데이터 베이스에 접근하기 위한 도구 제공 ex pickle)
    • 데이터 분석, 사물 인터넷
      • pandas 모듈
      • 기존에는 데이터 분석으로 R을 많이 사용했지만 pandas 등장으로 파이썬 사용을 통한 데이터 분석이 많이 사용됨
      • 라즈베리파이(리눅스 기반 작은 OS) - 파이썬은 라즈베리파이 제어 가능
  • 파이썬으로 할 수 없는 일
    • 시스템과 밀접한 프로그래밍 영역 ex) OS
    • 모바일 프로그래밍

01-4 파이썬 설치하기

01-5 파이썬 둘러보기

실행 예제

command line에서 python 실행

내장 idle로 실행

책에 나와있는 여러 예제들 실행해보기

  • 에디터로 작성하기
# hello.py
print("Hello world!")
  • hello.py 실행하기
    • windows + R
    • cmd
    • cd $WORKSPACE
    • python hello.py

01-6 파이썬과 에디터

  • IDLE
  • pycharm
  • vscode
    • 파이썬 전용 에디터가 아니므로 설치 후 파이썬 Extension 설치해야 함

+ Recent posts