빅데이터UI전문가/Python

파이썬 기초다지기 - 자료형

해요빈 2021. 9. 3. 08:42

1. 파이썬이란...

  1990년 귀도 반 로섬 이 개발한 인터프리터 언어...(!= 컴파일러)

  코미디 쇼에 나오는 제목에 따왔다. 

  사전적인 의미는 고대 신화에 나오는 동굴에 살던 큰 뱀. 

  아폴로 신이 파이썬을 퇴치했다는 이야기가 전해진다. 

  프로그래밍 교육의 위해서 많이 사용이되며 동시에 기업의 실무에서도 

  많이 사용된다. (!=베이직 ) 

  구글의 소프웨어의 50% 이상이 파이썬으로 작성되었다. 

  그 외에도 인스타그램, 드랍박스등이 파이썬으로 작성.

  파이썬은 공동작업과 유지보가 매우 쉽고 편하다. 이미 다른언어로

  작성된 프로그램들이 파이썬으로 재구성되고 있다. 

 

2. 파이썬의 특징

  1. 파이썬은 인간다운 언어이다. system.out.println   print('')

  2. 파이썬은 문법이 쉬워 빠르게 배울수 있다.

  3. 파이썬은 무료이지만 강력하다. 

  4. 파이썬은 간결하다.  

  5. 파이썬은 프로그래밍을 즐기게 해준다. 

  6. 파이썬은 개발 속도가 빠르다. 

    Life is too short you need python...

    인생은 너무 짧으니 파이썬이 필요하다. 

 

3. 파이썬으로 할수 있는....

  1. 시스템 유틸리티 

  2. GUI 프로그래밍 (pyqt )

  3. C, C++ 결합 (glue언어)

  4. 웹 프로그래밍 ( flask, django)

  5. 수치연산 (Numpy)

  6. Database (Oracle, MySQL, MariaDB)

  7. 데이터분석 (Pandas)

  - 시스템 밀접한 하드웨어, 모바일(안드로이드, 아이폰...)

 


※ 출력값을 미리 생각하고 입력해보세요.
2 자료형  
**리스트, 튜플, 딕셔너리, 셋 ......**  어떤 프로그래밍 언어든 ' 그 언어의 자료형을 알고 이해할 수 있다면 그 언어의 절반을 터득한 것이다.'   프로그램의 기본이자 핵심 단위이다.   자료형을 충분히 이해하지 않고 프로그래밍을 시작하는 것은 기초공사가  마무리 되지 않은 상태에서 건물을 세우는 것과 같다. 
# 숫자형 : 숫자 형태로 이루어진 자료형 1,2,3  정수   12.3   3.14  실수
# 정수형


a = 123
print(a)

b = 3.14
print(b)

123

3.14

# 숫자형 연산

a = 3
b = 4
a+b

7

b % a   # 몫은 버리고 나머지만 취하는 연산자.. 홀수/짝수/배수

1

a == b

False

# 문자열 자료형 String

a = "Hello World"
a

'Hello World'

a = 'Hello World'
a

'Hello World'

a = 'Python\'s'
a

'Python's'

a = '''
Hello
World
!!!
'''
print(a)

Hello

World

!!!

# 리스트 자료형

#   홀수들의 합을 계산 a=1, b=3, c= 5..........
#   리스트는 불편함을 해소..여러개의 자료를 하나로 묶어 관리.

z = []
z = [1,3,5,7,9]
z = ['a','b','c']
z = [1, 2,'a','b']

# 자료형에서 데이터를 꺼내 쓰는 방법
# 인덱싱 - 한 개씩


z[2]
z[-1]
z[-2]
z[0]+z[1]


# 슬라이싱 - 여러개를 한번에 (~미만)
z[0:3]
z[:2]
z[2:]
z[:]

# * 문자열

a = '12345'
a[2]
a[1:4]

'234'

a = [1,2,3]
len(a)

3

# 리스트에서는 수정과 삭제 가능하다. mutable (튜플은 수정과 삭제가 불가능하다. immutable)

a = [1,2,3]
a[2] = 4
a

[1, 2, 4]

del a[1]
a

[1, 4]

# 리스트 관련 함수 정리...
# append - 리스트의 마지막에 요소를 추가

a = [1,2,3]
a.append(4)
a

[1, 2, 3, 4]

a.append([5,6])
a

[1, 2, 3, 4, [5, 6]]

# sort - 리스트의 요소를 순서대로 정렬
a = [1,7,3,5]
a.sort()
a

[1, 3, 5, 7]

a = ['a','f','d','b']
a.sort()
a

['a', 'b', 'd', 'f']

a = ['a','f','d','b']
a.sort()
a.reverse()
a

['f', 'd', 'b', 'a']

# index 위치값을 반환 번호:0,1,2,3...

a = [1,3,4]
a.index(3)

1

# insert 리스트의 특정위치에 삽입
a=[1,2,3]
a.insert(0,4)
a

[4, 1, 2, 3]

# remove 리스트의 첫 번째로 나오는 값을 삭제

a = [1,3,4,1,2,4]
a.remove(4)
a

[1, 3, 1, 2, 4]

# pop 끝에 위치한 항목을 삭제한다. 

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

[1]

# count 리스트에서 특정원소가 몇개 있는지 확인

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

2

# extend 리스트에 리스트를 더한다. 
a = [1,2,3]
a.extend([4,5])
a

[1, 2, 3, 4, 5]

# 튜플......(튜플은 수정과 삭제가 불가능하다. immutable)

# 튜플은 리스트와 거의 비슷하다. 차이점은

# 1, 리스트는  []    튜플 ()
# 2. 리스트는 수정/삭제 가능 튜플 수정/삭제 불가능

# 튜플은 프로그램 실행되는 동안 그 값이 항상 변하지 않기를 바란다거나 값이 바뀔까 
# 걱정하고 싶지 않을 때 튜플을 사용한다.
t1 = ()
t2 = (1,) # 튜플은 원소를 하나만 담을 때는 쉽표를 붙인다.   튜플은 괄호 생략 가능하다. 
t3 = (1,2,3)
t4 = 1,2,3,4
t5 = ('a','b','c','d')
# 튜플에서 인덱싱 
t1 = (1,2,'a','b')
t1[0]

1

#튜플에서의 슬라이싱

t1 = (1,2,'a','b')
t1[1:]

(2, 'a', 'b')

#튜플에서의 슬라이싱

t1 = (1,2,'a','b')
t1[2:]

('a', 'b')

t1 = (1,2,'a','b')
t2 = (3,4)
t1+t2

(1, 2, 'a', 'b', 3, 4)

t2=(3,4)
t2*3 # t2를 3번 부른다

(3, 4, 3, 4, 3, 4)

len(t1)

4

딕셔너리...이름=홍길동, 나이=15, 성별=남자, 대응 관계를 나타낼 수 있는 자료형
다른언어에서는 map, hash....키값과 밸류 값으로 구성한다. 

1. 딕셔너리는 인덱싱과 슬라이싱 불가능
2. 수정, 편집 가능 mutable 
3. 중괄호 {} ( []리스트 ()튜플 )