Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

히바리 쿄야 와 함께 하는 Developer Cafe

[1일차] DO IT 점프 투 파이썬/p17 ~ p84 / 파이썬이란 무었인가 본문

Python

[1일차] DO IT 점프 투 파이썬/p17 ~ p84 / 파이썬이란 무었인가

TWICE&GFRIEND 2021. 2. 17. 20:58

실습 IDE 스파이더 

 

www.spyder-ide.org/ -> 다운로드 설치하면 됨 

 

# -*- coding: utf-8 -*-
"""
Created on Fri Feb  5 15:12:26 2021

@author: SONG
"""

#hello.py
print("hello world"); 

#multistring.py
print("=" * 50)
print("My Program")
print("=" * 50)

 

콘솔창 로그 실습

 

a = "Life is too short, you need Python"

a[0]
Out[2]: 'L'

a[12]
Out[3]: 's'

a[-1]
Out[4]: 'n'

 

b = a[0] + a[1] + a[2] + a[3]

b
Out[6]: 'Life'

 

a[0:4]  -> a의 0번째 배열부터 4글자를 추출한다 라는 의미 
Out[7]: 'Life'

 

a[0:3]
Out[8]: 'Lif'

a[0:5]  -> 공백까지 포함됨 추출할때 
Out[9]: 'Life '

 

a[-0]  -0 은 0 하고 똑같음 0번지 배열과 똑같다는 의미 
Out[10]: 'L'

a[-2] -2 는 뒤에서부터 역순으로 추출 
Out[11]: 'o'

a[-5] -5 는 뒤에서부터 역순으로 5번지 배열로 추출하라는 의미 
Out[12]: 'y'

 

a[0:5]
Out[13]: 'Life '

a[0:2]
Out[14]: 'Li'

a[5:7]
Out[15]: 'is'

a[12:17]
Out[16]: 'short'

 

a[19:]  [시작번호:끝번호]  끝번호가 생략하면 시작 번호 부터 그 문자열의 끝까지 전부 추출하라는 의미 
Out[17]: 'you need Python'  

 

a[:17]  시작번호를 생략하면 문자열의 처음부터 끝 번호까지 추출하라는 의미 
Out[18]: 'Life is too short'

 

a[:] 시작번호와 끝번호 생략하면 문자열의 처음 부터 끝까지 다 추출하라는 의미
Out[19]: 'Life is too short, you need Python'

 

a[19:-7]   a[19] 에서 부터 a[-8] 까지를 말함   a[-7]은 포함되지 않음 
Out[20]: 'you need'

 

a = "20010331Rainy"

date = a[:8]

weather = a[8:]

date
Out[28]: '20010331'

weather
Out[29]: 'Rainy'

 

year = a[:4]

day = a[4:8]

weather = a[8:]

year
Out[33]: '2001'

day
Out[34]: '0331'

weather
Out[35]: 'Rainy'

 

"I eat %d apples." % 3
Out[36]: 'I eat 3 apples.'

"I eat %s apples." % "five"
Out[37]: 'I eat five apples.'

number = 3

"I eat %d apples." % number
Out[39]: 'I eat 3 apples.'

 

number = 10

day = "three"

"I ate %d apples. so I was sick for %s days." % (number, day)
Out[42]: 'I ate 10 apples. so I was sick for three days.'

 

"I have %s apples" % 3
Out[43]: 'I have 3 apples'

"rate is %s" % 3.234
Out[44]: 'rate is 3.234'

 

"Error is %d%%" % 98       

%를 표기하려면 반드시 %% 로 표기하여야 한다 하지만 문자열 안에 %d 같은 포맷 연산자가 없으면 

%는 혼자 쓰여도 상관없음  
Out[45]: 'Error is 98%'

 

정렬과 공백

 

"%10s" % "h1"    %10s 는 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬 나머지는 공백으로

남겨둬라 라는 의미
Out[46]: '        h1'

 

"%-10sjane" % "hi"    반대로 왼쪽 정렬 %-10s   hi 가 왼쪽 정렬되고 나머지는 공백으로 채워짐 
Out[47]: 'hi        jane'

 

"%0.4f" % 3.42134234
Out[48]: '3.4213'

"%10.4f" % 3.42134234
Out[49]: '    3.4213'

 

"I eat {0} apples".format(3)   -> 포맷 함수 3을 0번지 배열로 값을 대입함 
Out[50]: 'I eat 3 apples'

"I eat {0} apples".format("five")
Out[51]: 'I eat five apples'

number = 3

"I eat {0} apples".format(number)
Out[53]: 'I eat 3 apples'

 

number = 10

day = "three"

"I ate {0} apples. so I was sick for {1} days.".format(number,day)
Out[56]: 'I ate 10 apples. so I was sick for three days.'

 

"I ate {number} apples. so I was sick for {day} days.".format(number=10,day=3)
Out[57]: 'I ate 10 apples. so I was sick for 3 days.'

"I ate {0} apples. so I was sick for {day} days.".format(10,day=3)
Out[58]: 'I ate 10 apples. so I was sick for 3 days.'

"{0:<10}".format("hi")
Out[59]: 'hi        '

 

"{0:>10}".format("hi")
Out[60]: '        hi'

"{0:^10}".format("hi")
Out[61]: '    hi    '

 

y = 3.42134234

"{0:0.4f}".format(y)   -> 소수점 4자리 까지 표현하라는 의미
Out[65]: '3.4213'

 

name = '김소정'

age = 26

f'나의 이름은 {name}입니다. 나이는 {age}입니다.'              f' -> f 문자열 포매팅 
Out[69]: '나의 이름은 김소정입니다. 나이는 26입니다.'

 

f'나는 내년이면 {age+1}살이 된다.'
Out[70]: '나는 내년이면 27살이 된다.'

 

d = {'name':'김소정','age':26}

 

딕셔너리는 key 와 value 값을 한 쌍으로 갖는 자료형을 의미


f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
Out[72]: '나의 이름은 김소정입니다. 나이는 26입니다.'

 

 

문자 개수 카운트

 

a = "hobby"

a.count('b')
Out[74]: 2

 

 

find 함수 처음으로 나온 위치값을 반환 찾는 문자나 문자열이 존재하지 않으면 -1 을 반환 

 

a = "Python is the best choice"

a.find('b')
Out[76]: 14

a.find('k')
Out[77]: -1

 

 

index 함수 find 함수와 같은 기능 

a = "Life is too short"

a.index('t')
Out[79]: 8

a.index('k')  -> k값이 없기 때문에 오류가 발생 
Traceback (most recent call last):

  File "<ipython-input-80-cb6c8ec35229>", line 1, in <module>
    a.index('k')

ValueError: substring not found

 

문자열 삽입 join

",".join('abcd')
Out[81]: 'a,b,c,d'

 

",".join(['a','b','c','d'])
Out[82]: 'a,b,c,d'

 

소문자를 대문자로 바꾸기 upper 

a = "hi"

a.upper()
Out[84]: 'HI'

 

대문자를 소문자로 바꿈 lower

a = "HI"

a.lower()
Out[86]: 'hi'

 

왼쪽 공백 지움 lstrip  한칸 이상의 연속된 공백들을 모두 지움
a = " hi "

a.lstrip()
Out[88]: 'hi '

 

오른쪽 공백 지움 rstrip

a = " hi "

a.rstrip()
Out[90]: ' hi'

 

양쪽 공백 지움 strip

a.strip()
Out[92]: 'hi'

 

문자열 바꿈 replace  (바뀌게 될 문자열 , 바꿀 문자열)
a = "Life is too short"

a.replace("Life","Your leg")
Out[94]: 'Your leg is too short'

 

 

문자열 나눔 split

split 함수는 split() -> 괄호 안에 아무 값도 안넣어주면 공백 (스페이스,탭,엔터 등) 을 기준으로 문자열을 나누어줌 

a = "Life is too short"

a.split()
Out[96]: ['Life', 'is', 'too', 'short']

b = "a:b:c:d"

b.split(':')
Out[98]: ['a', 'b', 'c', 'd']

 

리스트  리스트명 = [요소1, 요소2, 요소3, ....]

odd = [1,3,5,7,9]

odd
Out[105]: [1, 3, 5, 7, 9]

a[0]
Out[106]: 1

a[0] + a[2]
Out[107]: 4

 

a[-1]  리스트 a 의 마지막 요소 값을 말함 
Out[108]: 3

 

a = [1,2,3,['a','b','c']]

a[0]
Out[110]: 1

a[-1]
Out[111]: ['a', 'b', 'c']

a[3]
Out[112]: ['a', 'b', 'c']

 

a[-1][0] 
Out[113]: 'a'

 

a[-1][1]
Out[114]: 'b'

a[-1][2]
Out[115]: 'c'

 

a = [1,2,['a','b',['life','is']]]

a[2][2][0]
Out[118]: 'life'

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

a[0:2]
Out[120]: [1, 2]

 

a = "12345"

a[0:2]
Out[122]: '12'

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

b = a[:2]

c = a[2:]

b
Out[126]: [1, 2]

c
Out[127]: [3, 4, 5]

 


a = [1,2,3,['a','b','c'],4,5]

a[2:5]
Out[129]: [3, ['a', 'b', 'c'], 4]

a[3][:2]
Out[130]: ['a', 'b']

a = [1,2,3]

b = [4,5,6]

a + b
Out[133]: [1, 2, 3, 4, 5, 6]

a = [1,2,3]

a * 3
Out[135]: [1, 2, 3, 1, 2, 3, 1, 2, 3]

a = [1,2,3]

len(a)
Out[137]: 3

str(a[2]) + "hi"
Out[138]: '3hi'

 

a = [1,2,3]

a[2] = 4

a
Out[141]: [1, 2, 4]

a = [1,2,3]

del a[1]

a
Out[144]: [1, 3]

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

del a[2:]

a
Out[147]: [1, 2]

a = [1,2,3]

a.append(4) -> 리스트에 요소 추가

a
Out[150]: [1, 2, 3, 4]

 

a.append([5,6])

a
Out[152]: [1, 2, 3, 4, [5, 6]]

a = [1,4,3,2]

a.sort() -> 리스트를 순서대로 정렬해줌

a
Out[155]: [1, 2, 3, 4]

a = ['a','c','b']

a.sort()

a
Out[158]: ['a', 'b', 'c']

a = ['a','c','b']

a.reverse()  리스트를 역순으로 뒤집어줌 현재의 리스트를 그대로 거꾸로 뒤집음

a
Out[161]: ['b', 'c', 'a']

a = [1,2,3]

a.index(3)   index(x) 리스트에 x 값이 있으면 x 의 위치 값을 돌려줌
Out[163]: 2

a.index(1)
Out[164]: 0

a = [1,2,3]

a.insert(0,4)   insert(a,b) 리스트의 a 번지 위치에 b를 삽입  숫자를 0부터 센다

a
Out[167]: [4, 1, 2, 3]

 


a.insert(3,5)

a
Out[169]: [4, 1, 2, 5, 3]

 

a
Out[169]: [4, 1, 2, 5, 3]

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

a.remove(3)   remove(x) -> 리스트에서 첫 번째로 나오는 x 를 삭제하는 함수 

a
Out[172]: [1, 2, 1, 2, 3]

a.remove(3)

a
Out[174]: [1, 2, 1, 2]

a = [1,2,3]

a.pop()  -> 리스트의 맨 마지막 요소를 돌려주고 그 요소는 삭제한다 
Out[176]: 3

a = [1,2,3]

a.pop(1)  pop(x) -> 리스트의 x번째 요소를 돌려주고 그 요소는 삭제함 
Out[178]: 2

a
Out[179]: [1, 3]

a = [1,2,3,1]

a.count(1)   리스트 안에 x 가 몇개 있는지 조사하여 그 개수를 돌려주는 함수 
Out[181]: 2

a = [1,2,3]

a.extend([4,5])    -> extend(x) -> x 에는 리스트만 올 수 있으며 원래의 a 리스트에 x 를 더함  

a
Out[184]: [1, 2, 3, 4, 5]

b = [6,7]

a.extend(b)

a
Out[187]: [1, 2, 3, 4, 5, 6, 7]

 

 

 

 

문자열 포맷 코드

 

%s  문자열 (String)

%d  정수   (Integer)

%f  부동 소수점  (Floating-point)

%c  문자 1개 (Character)

%o  8진수  

%x  16진 수

%%  리터럴 %

 

 

 

배열은 자바와 마찬가지로 인덱스 0 번지 배열 부터 시작함

-1 은 맨 뒤에서 역순으로 읽어들임 그래서 n 이 출력됨

 

문자열의 길이를 구할때에는 len 이란 함수를 사용함 length 길이를 말함

 

이스케이프 코드 

\n 개행(줄 바꾼다.)
\ r 줄 바꾸면 문서 맨 앞에 커서 표시된다.
\ " 큰 따음표가 출력된다.
\ ' 작은 따음표가 출력된다.
000 넓 문자가 표기된다.
t 수평탭 표기된다.
// 문자가 표기된다.

 

 

Comments