파이썬 스터디2
seonae's wiki
| 2019 파이썬 스터디 | |
|---|---|
| 일정 | 2019/1/17 3-5시 |
| 장소 | 강의동 110호 |
| 참여인원 | 선애,승진,나라,에릭,인혁 |
| 내용 | 파이썬기초 : 자료형(문자,리스트) |
자료형:문자
- 문자열 포맷팅(Formatting) : 쉽게 말해 문자열 내에 어떤 값을 삽입하는 방법[1]
- 1) 포맷팅 연산자 사용
>>>"I eat %d apples." % 3 #직접 넣기-숫자 >>>"I eat %s apples." % "five" #직접 넣기-문자열 >>>"I eat %d apples." % number #변수로 입력 #2개 이상의 값 넣기 >>> number = 10 >>> day = "three" >>> "I ate %d apples. so I was sick for %s days." % (number, day) #공백 넣기 >>> "%10s" % "hi" #정렬하기 >>> "%10s" % "hi" #오른쪽 "%-10sjane." % 'hi' #왼쪽
- 문자열 포맷코드 : %s(문자열), %d(정수), %%(%문자)
>>> "Error is %d%." % 98
- 2) format 함수 사용
>>> "I eat {0} apples".format(3) #직접 넣기-숫자
>>> "I eat {0} apples".format("five") #직접 넣기 - 문자
>>> number = 3
>>> "I eat {0} apples".format(number) #변수로 입력
#2개 이상의 값 넣기-인덱스
>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)
#2개이상의 값 넣기 - 이름
"I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)
#정렬
>>> "{0:<10}".format("hi") #:<왼쪽
>>> "{0:>10}".format("hi") #:>오른쪽
>>> "{0:^10}".format("hi") #:^ 가운데
#{ 또는 } 문자 넣기
>>> "{{ and }}".format()
- f문자열을 이용(ver 3.6 이상)
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
>>> f'나는 내년이면 {age+1}살이 된다.'
>>> f'{"hi":<10}' # 왼쪽 정렬
>>> f'{"hi":>10}' # 오른쪽 정렬
>>> f'{"hi":^10}' # 가운데 정렬
- 문자열 메소드
- 메소드(method) : 자체적으로 가지고 있는 함수. 내장함수 함수(인수)/method(parameter)
>>> a = "Python is the best choice"
>>> a.count('b') #문자 갯수 세기
>>> a.find('b') #문자 위치1 (처음 나온 위치, 없으면 -1)
>>> a.index('t') #문자 위치2 (처음 나온 위치, 없으면 오류)
>>> ",".join('abcd') #문자열 삽입/결합
>>> ",".join(['a','b','c','d']) #join은 리스트도 가능.
>>> a.upper() #대문자 변환
>>> a.lower() #소문자 변환
>>> a.swapcase() #거꾸로 변환
>>> a.capitalize() #첫문자만 대문자로
>>> a.title() #단어의 첫문자만 대문자로
>>> " hi ".lstrip() #왼쪽 공백 제거
>>> " hi ".rstrip() #오른쪽 공백 제거
>>> " hi ".strip() #양쪽 공백 제거
>>> '><>abc<><><>'.strip('<>') #특정 문자열 제거
>>> '><>abc<><><>\n'.strip('<>')
>>> a.replace("Python", "Learning") #문자열 바꾸기
>>> a.split() #문자열 나누기
>>> b = "a:b:c:d"
>>> b.split(':')
>>> lines = '''
first line
second line
third line'''
>>> lines.splitlines() #줄단위로 분리
>>> s = 'i like programming, i like swimming.'
>>> s.startswith('i like') #~로 시작하는지?
>>> s.endswith('swimming.') #~로 끝나는지?
>>> startswith('progr', 7) #7번째 문자열이 ~로 시작하는지?
>>>s.endswith('like', 0, 26) #0~26사이의 문자열이 ~로 끝나는지?
#판별 메소드
>>> '1234'.isdigit()
>>> 'abc'.islower()
>>> 'abc'.isupper()
>>> '\t\r\n'.isspace()
연습문제2
- a:b:c:d를 a#b#c#d로 바꾸기 : 1) replace 사용 2) split과 join사용
- s = '/usr/local/bin/python'에서 분리하기 : 'usr', 'local', 'bin', 'python'
m = ''' first line second line third line''' first line:second line:third line #출력형태 1 first:line:second:line:third:line #출력형태 2
자료형:리스트
- 리스트(List) : 순서를 가지는 객체들의 집합. 시퀀스 자료형. 변경가능. []
- 기본 형식
리스트명 = [요소1, 요소2, 요소3, ...]
>>> a = [] #빈 리스트, 리스트 선언(declaration) >>> b = [1, 2, 3] >>> c = ['Life', 'is', 'too', 'short'] >>> d = [1, 2, 'Life', 'is'] >>> e = [1, 2, ['Life', 'is']] >>> a = list() #빈 리스트.
- 인덱싱
>>> a = [1, 2, 3] >>> a[0] >>> a[0] + a[2] >>> a[-1] #중첩 리스트(nested lists) >>> a = [1, 2, 3, ['a', 'b', 'c']] >>> a[0] >>> a[-1] >>> a[-1][0]
- 슬라이싱
>>> a = [1, 2, 3, 4, 5] >>> a[0:2] >>> b = a[:2] >>> c = a[2:] #중첩 리스트(nested lists) >>> a = [1, 2, 3, ['a', 'b', 'c'], 4, 5] >>> a[2:5] >>> a[3][:2]
- 리스트 연산
#더하기 >>> a = [1, 2, 3] >>> b = [4, 5, 6] >>> a + b #반복하기 >>> a = [1, 2, 3] >>> a * 3 #길이 구하기 >>> len(a) #멤버십 테스트(membership test) >>> 3 in a #여기서 잠깐! 아래의 결과는? >>> a[2] + "hi"
- 수정과 삭제
>>> a = [1, 2, 3, 4, 5] >>> a[2] = 4 #교체 >>> a >>> a[0:2] = [7] >>> del a[1] #삭제 >>> a >>> a = [1, 2, 3, 4, 5] >>> del a[2:] #여러개 삭제 >>> a >>> a[0] = []
- 메소드
#요소 추가하기 append()
>>> a = [1, 2, 3]
>>> a.append(4)
>>> a
>>> a.append([5,6])
>>> a
#정렬하기
>>> a = [1, 4, 3, 2]
>>> a.sort()
>>> a
>>> b = ['a', 'c', 'b']
>>> a.sort()
>>> b
#역순 정렬
>>> a.reverse()
>>> a
>>> b.reverse()
>>> b
#위치 반환 : 리스트에 x값이 있으면 x의 위치 반환
>>> a = [1,2,3]
>>> a.index(3)
>>> a.index(1)
>>> a.index(0)
#삽입하기 insert(a,b) a번째 위치에 b를 삽입.
>>> a = [1, 2, 3]
>>> a.insert(0, 4)
>>> a
#제거하기 remove(x) 첫번째로 나오는 요소 x를 삭제.
>>> a = [1, 2, 3, 1, 2, 3]
>>> a.remove(3)
>>> a
#꺼내기 : 맨 마지막 요소를 꺼내는 것(요소를 반환하고(return) 삭제)
>>> a = [1,2,3]
>>> a.pop()
>>> a
>>> a = [1,2,3]
>>> a.pop(1)
>>> a
#요소 x의 갯수세기
>>> a = ['ㄱ', 'ㄴ', 'ㄷ', 'ㄴ', 'ㄱ']
>>> a.count('ㄱ')
#리스트 확장(extend) : 리스트를 더하는 것
>>> a = [1,2,3]
>>> a.extend([4,5])
>>> a
>>> b = [6, 7]
>>> a.extend(b)
>>> a
연습문제
- ['Life', 'is', 'too', 'short'] 라는 리스트를 Life is too short라는 문자열로! (join 이용)
- [1, 3, 5, 4, 2]라는 리스트를 [5, 4, 3, 2, 1]로!