PYTHON 프로그래밍

본문 바로가기
사이트 내 전체검색


PYTHON 프로그래밍
PYTHON 프로그래밍

1. 자료형

페이지 정보

작성자 관리자 댓글 0건 조회 3,573회 작성일 18-09-12 11:28

본문

1. 자료형

 

1. 주석

# 주석표현은 #으로 표시한다.

2. 자료형

# 자료형(DataType) : 프로그래밍을 할 때 쓰이는 숫자, 문자열 등등의 것들을 뜻한다.
# 자료형의 종류: 숫자형, 문자열, 리스트, 튜플, 딕셔너리, 집합, 불린(boolean)

2.1 숫자형


(크게 두가지로 분류한다면 : 정수형(integer), 부동소수점(float))
# 정수 : 12432
# 실수 : 123.45
# 복소수 : 1+10i
# 8진수 : 0o25
# 16진수 : 0x2F
aa = 124 #정수형은 파이썬에서 long형이 따로 없이 모든 정수는 int형으로 담을 수 있다.
aa = -154
aa = 0
print(aa)

그림입니다.
원본 그림의 이름: mem0000202812b6.tmp
원본 그림의 크기: 가로 681pixel, 세로 232pixel



bb = 23.22 # 부동소수점
bb = 32.4E-3 #E표기법 : E뒤의 값이 10 지수임을 표현 --> 32.4*10^-3을 의미
cc = 0o166 #8진수 표기법
dd = 0xabc #16진수 표기법


'''
  숫자 연산 : 사칙연산(+, - , *, /)을 계산기와 마찬가지로 사용한다.
 
  ** : 승 값을 나타내는 연산자
  % : 나머지값을 반환하는 연산자
  // : 소수점자리를 버리는 연산자
'''
a = 10
b = 10
c = 100
print (a+b)
print (a**b)
print(5%2)
print(2%5)
print(3/2)
print(3//2)

그림입니다.
원본 그림의 이름: mem000020280001.tmp
원본 그림의 크기: 가로 681pixel, 세로 273pixel


2.2 문자열

: 문자의 나열을 의미한다.(문자들의 집합)
# 작은 따옴표를 이용해서 문자열을 지정할 수 있다. 예> '헬로우 파이썬!!'
# 공백과 띄어쓰기 탭등이 그대로 유지된다.
# 큰따옴표 : 작은 따옴표로 둘러싸인 문자열과 완전히 동일하게 취급된다.
# 예> "Hello Python!!"
# 큰 따옴표안에 작은 따옴표를 포함할 수 있다.
# 예> "I'm OK!!"

print ("I'm OK!!")

그림입니다.
원본 그림의 이름: mem000020280002.tmp
원본 그림의 크기: 가로 681pixel, 세로 168pixel

# 세개의 따옴표 표현하는 경우 -(""" 또는 ''')
# 세개의 따옴표를 사용하는 경우는 여러 라인에 걸친 문자열을 표현할 때 사용한다.
''' 안녕하세요!!!
반갑습니다....
'''
print (''' 안녕하세요
반가워요
또 만납시다!!! ''')

그림입니다.
원본 그림의 이름: mem000020280003.tmp
원본 그림의 크기: 가로 681pixel, 세로 198pixel



""" 반갑습니다...
만나뵈서 ...즐거웠습니다...!!!
"""
''' 파이썬에서는 문자형(char형)이 따로 없다.  파이썬에서는 필요가 없다 '''

''' [ 이스케이프 코드 ]
   \n : 개행(줄바꿈)
   \r : 캐리지 리턴
   \" : 큰따옴표 출력 (")
   \' : 작은따옴표 출력(')
   \000 : 널문자
   \t : 수평탭
   \\ : '\' 문자 표현('\')

-- 문자열 연산 : 파이썬에서는 문자열을 더하고 곱할 수 있다.
[ 문자열 더하기(concatenation) ]
   --> 문자열 + 문자열

[ 문자열 곱하기 ]
문자열 *숫자 는 문자열을 숫자 만큼 반복을 의미한다.
'''

a = "You've got"
b = " a friend"
print(a+b) #문자열 더하기
c = "hello"
print(c * 3)
print("+" * 30)
print("Hello Python")
print("+"*30)

그림입니다.
원본 그림의 이름: mem000020280004.tmp
원본 그림의 크기: 가로 681pixel, 세로 232pixel


-- 인덱싱과 슬라이싱

str = "You've got a friend"
print(str[4])
print(str[3])
print(str[6])
print(str[7])
print(str[13])
print(str[-1])

그림입니다.
원본 그림의 이름: mem000020280005.tmp
원본 그림의 크기: 가로 681pixel, 세로 259pixel

str = "You've got a friend"
str1 = str[-6] + str[-5]+str[-4]+str[-3]+str[-2]+str[-1]
print(str1)
print(str[-1:-6]) # 인덱스 -1에서 -6까지 슬라이스 하겠다.
print(str[-6:]) # 인덱스 -6에서부터 끝까지 슬라이스 한다.
print(str[0:3])
print(str[:3])
print(str[:]) #str문자열 처음 부터 끝까지 슬라이스 한다.

그림입니다.
원본 그림의 이름: mem000020280006.tmp
원본 그림의 크기: 가로 681pixel, 세로 259pixel


​str = "20150613121320"
date = str[:8]
time = str[8:]
year = date[:4]
month =date[4:6]
day = date[6:8]
print (date)
print (time)
print (year+"년"+month+"월"+day+"일")

그림입니다.
원본 그림의 이름: mem000020280007.tmp
원본 그림의 크기: 가로 681pixel, 세로 208pixel




#문자열의 교체방법
aa = "ABCD"
print(aa[1] )

aa[1] = 'F' #문자열, 튜플 자료형은 그요소값을 변경할 수 없다
print(aa[1])
​ 

그림입니다.
원본 그림의 이름: mem000020280008.tmp
원본 그림의 크기: 가로 681pixel, 세로 242pixel



aa = "ABCD"
print(aa[1] )​
aa[:1]
print(aa[:1])
aa[2:]
print(aa[2:])
aa = aa[:1]+'F'+aa[2:]
print(aa)

그림입니다.
원본 그림의 이름: mem000020280009.tmp
원본 그림의 크기: 가로 681pixel, 세로 242pixel



''' [ 문자열 포맷(Format) ]
   : 문자열 내에 어떤 특정 값을 변화시키는 방법
 예> 현재 날짜는 6월 20일 입니다.
  ....
  ....
       현재 날짜는 6월 21일 입니다.
'''

#숫자 대입
print( "제 나이는  %d 살 입니다." %20)
print( "제 나이는  %d 살 입니다." %21)
​​
#문자열 대입
print("저의 이름은 %s 입니다" %"홍길동")
print("저의 이름은 %s 입니다" %"고길동")

그림입니다.
원본 그림의 이름: mem00002028000a.tmp
원본 그림의 크기: 가로 681pixel, 세로 242pixel



​# 숫자형 변수로 대입
age = 22
print("제 나이는 %d 살입니다." %age)
​​
# 여러 개의 값을 대입하기
age = 22
name = "김말똥"
print("저의 이름은 %s 입니다. 나이는 %d 입니다." %(name, age))

그림입니다.
원본 그림의 이름: mem00002028000b.tmp
원본 그림의 크기: 가로 681pixel, 세로 189pixel



''' 포맷 코드
%s : 문자열(String)
%d : 정수(Integer)
%f :실수형(float)
%c : 문자(character)
%o : 8진수
%x : 16진수
%% : 리터럴 %
'''

# print("완치될 확률은 %d% 입니다" %70)
print("완치될 확률은 %d%% 입니다" %70)

''' [포맷코드의 활용예]
  소숫점 표현하기 '''
print("%0.5f" %2.454545)
#정렬과 공백처리
print("%10s" %"hello")
print("%-10s" %"hello")
print("%-6sPython!!" %'Hello')
 

그림입니다.
원본 그림의 이름: mem00002028000c.tmp
원본 그림의 크기: 가로 681pixel, 세로 235pixel


2.3 리스트(list)



'''
: 다른 언어의 배열과 같은 형을 의미한다.
 리스트의 예> aa = [10, 20 , 30]
                  movies = ["트랜스포모", "국제시장", "명량"]
      bb = [10, 20, "명량", "국제시장"]
      cc =[10, 20,["명량", "국제시장"]]
      dd =[] 빈리스트
     ** 리스트 내에는 어떠한 자료형도 포함시킬 수 있다.

[리스트의 인덱싱과 슬라이싱] 
'''
aa= [10, 20, 30]
print(aa[0])
print(aa)
print(aa[1]+aa[2])
print(aa[-1]) #인덱스 값이 -인경우에는 뒤에서 부터 요소를 가리킨다.

그림입니다.
원본 그림의 이름: mem00002028000d.tmp
원본 그림의 크기: 가로 681pixel, 세로 235pixel



bb = [10,20,30,["ab", "cd", "ef"]] # 이중 리스트구조
print(bb[0])
print(bb[-1])
print(bb[3])
print(bb[-1][1])

그림입니다.
원본 그림의 이름: mem00002028000e.tmp
원본 그림의 크기: 가로 681pixel, 세로 235pixel



cc=[10,20,['aa', 'bb', 'cc',["국제시장", "명량"]]]  # 삼중 리스트구조
print(cc[2][3][0]) # 삼중리스트구조에서 인덱싱 하기

그림입니다.
원본 그림의 이름: mem00002028000f.tmp
원본 그림의 크기: 가로 681pixel, 세로 163pixel


# [리스트의 슬라이싱]
ab = [1,10, 100, 1000, 10000]
print(ab[:3])
​​
ab = "110100100010000"
print(ab[:3])
​​
bc = [1,10,100,['aa','bb','cc'],1000, 10000]
print(bc[2:5])
print(bc[3][1:])

그림입니다.
원본 그림의 이름: mem000020280010.tmp
원본 그림의 크기: 가로 681pixel, 세로 229pixel



#리스트 연산 (+, *:반복)
aa = [10, 20, 30]
bb = [100,200,300]
print (aa+bb)
print(aa*2)

그림입니다.
원본 그림의 이름: mem000020280011.tmp
원본 그림의 크기: 가로 681pixel, 세로 177pixel



#리스트의 값을 변경하기
aa = [10, 20, 30]
print(aa[1])
aa[1]=100 # 문자열, 튜플의 형의 요소값은 변경할 수 없지만, 리스트의 요소값은 변경할 수 있다.
print(aa)
print(aa[2:])
aa[2:] = ["국제시장", "명량"]
print(aa)
print(aa[1:3])
aa[1:3] = ["백", "천", "만"]
print(aa)
aa[4] = ["십만", "백만", "천만"]
print(aa)
aa[1:4] = [] # 요소 삭제 : 인덱스1에서 4까지 삭제
print(aa)
del aa[0] # del함수를 이용한 삭제 방법 del(파이썬 내장함수) del 객체(모든 자료형)
 
print (aa)


그림입니다.
원본 그림의 이름: mem000020280012.tmp
원본 그림의 크기: 가로 681pixel, 세로 350pixel


2.4 튜플(tuple)

'''
 : 리스트와 비슷한 자료형이다.
  - 리스트와 튜플의 차이점
    . 리스트는 [ ], 튜플은 ( ) 를 사용한다.
 . 리스트는 요소의 변경(수정, 삭제, 생성)이 가능하지만, 튜플은 요소의 값을 변경할 수 없다.
  사용예>
  tu = () --> 빈값이 들어 있는 형태
  tu2 = (1,)
  tu3 =(10, 20, 30,40)
  tu4 = 10,20,30
  tu5 = ("국제시장", "명량",("ab", "cd"))


.튜플의 인덱싱, 슬라이싱, 연산
'''
tu = ('a','b','c', 10, 1000)
print(tu[0])
print(tu[2:])
tu2 = ('d', 'e', 'f')
print(tu+tu2)
print(tu*3)
# del tu2[2] #튜플은 문자열처럼 요소를 변경하는 것을 허용하지 않는다.
 

그림입니다.
원본 그림의 이름: mem000020280013.tmp
원본 그림의 크기: 가로 681pixel, 세로 231pixel


2.5 불린형(참과 거짓)

'''
  문자열 : "aaa" ---> 참(true), ""(false)
  리스트 : [1,22,33] 참, [](거짓)
  튜플 : ('a','b')참, ()거짓
  딕셔너리 : {}(거짓)
  숫자 : 1(참), 0(거짓)
  None (거짓)
'''
if []:
    print("참")
else:
    print("거짓")
if [1,2]:
    print("true")
else:
    print("false")

그림입니다.
원본 그림의 이름: mem000020280014.tmp
원본 그림의 크기: 가로 681pixel, 세로 186pixel



 


댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.