히바리 쿄야 와 함께 하는 Developer Cafe
[1일차] DO IT 점프 투 파이썬/p17 ~ p84 / 파이썬이란 무었인가 본문
실습 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 | 수평탭 표기된다. |
// | 문자가 표기된다. |
'Python' 카테고리의 다른 글
[5일차] DO IT 점프 투 파이썬/p269~p320/게시판 페이징, 정규표현식 (0) | 2021.02.22 |
---|---|
[4일차] DO IT 점프투파이썬 /p183 ~ p261/ 05.클래스,패키지,예외처리 (0) | 2021.02.20 |
[3일차] DO IT 점프 투 파이썬/p150 ~ p181/ 함수 (0) | 2021.02.19 |
[2일차] DO IT 점프 투 파이썬/p85 ~ p149/ 자료형 (0) | 2021.02.18 |