잊을 것 같은 내용들을 정리해봤다.
[ 문자열 ]
\n | 줄바꿈 | \t | 탭 | \\ | \를 그대로 표현 | \' or " | ' or " 그대로 표현 |
> 인덱스 a[ n ] / 슬라이싱 a[ n : m : h ]
* 슬라이싱할 때 n <= x < m 이라는 점 주의, h는 기준 if h = 2라면 2씩 증가
[ 문자 포매팅 ]
%s | 문자열(String) |
%c | 문자 1개(character) |
%d | 정수(Integer) |
%f | 부동소수(floating-point) |
%o | 8진수 |
%x | 16진수 |
%% | Literal % (문자 % 자체) |
>>> "I eat %f apples." %X
'I eat 3 apples.'
- 소수점 표현
>>> "%0.4f" % 3.42134234
'3.4213'
- - 정렬하기
>>> "{0:^10}".format("hi")
' hi '
>>> "{0:=^10}".format("hi")
'====hi===='
>>> "{0:!<10}".format("hi")
'hi!!!!!!!!'
> format함수를 활용한 포매팅
>>> "I eat {0} apples".format(X)
'I eat 3 apples'
# 값이 2개 이상일 때
>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)
'I ate 10 apples. so I was sick for three days.'
> F-string
>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
> 문자열에 쓰이는 함수
- count / find / index
- join
>>> ",".join('abcd') or join(['a', 'b', 'c', 'd'])
'a,b,c,d'
- strip : 공백 제거
- replace, split
[리스트]
> pop() : 맨 뒤에 있는 값을 삭제
> count(x) : 리스트에 포함 된 'x' 개수 구하기.
> extend(list) : list 1 + list 2와 같다.
>>> a = [1, 2, 3]
>>> a.extend([4, 5])
>>> a
[1, 2, 3, 4, 5]
[튜플]
> 리스트와 가장 큰 차이점 : 요솟값을 바꿀 수 있는지 여부
> 다루는 것은 리스트와 동일
[딕셔너리]
> a = { 'key' : 'value'}
> a[key] = 'value' / or a.get(key)
* key는 중복되면 안 된다.
> keys() : key값 리스트업 / values() : value값들 리스트업 / item() : key와 value 묶음으로 리스트업
>>> a = {'name': 'pey', 'phone': '010-9999-1234', 'birth': '1118'}
>>> a.keys()
dict_keys(['name', 'phone', 'birth'])
* 하지만 리스트 고유의 append, insert, pop, remove, sort 함수는 수행할 수 없다.
> so, 변경하려면 아래 과정 수행
>>> list(a.keys())
['name', 'phone', 'birth']
[불 자료형] _ bool( )
"python" | 참 |
"" | 거짓 |
[1, 2, 3] | 참 |
[] | 거짓 |
(1, 2, 3) | 참 |
() | 거짓 |
{'a': 1} | 참 |
{} | 거짓 |
1 | 참 |
0 | 거짓 |
None | 거짓 |
> 알고리즘 문제를 풀면서도 이를 활용하는 방법들이 있었다. 참고로 알아두면 좋을 것 같아서 기록했다.
ex. false일 때까지 출력할 때,
[저장, 변수]
>>> a = [1, 2, 3]
>>> b = a
>>> id(a)
4303029896
>>> id(b)
4303029896
# 즉 a를 수정하면 b도 바뀐다.
>>> a[1] = 4
>>> a
[1, 4, 3]
>>> b
[1, 4, 3]
> a의 변수들을 복사하되 a와 다른 주소 값을 넣고자 한다면,
>>> a = [1, 2, 3]
>>> b = a[:]
# 또는
>>> from copy import copy
>>> a = [1, 2, 3]
>>> b = copy(a)
# 또는
>>> a, b = ('python', 'life') # or [ ]
>>> (a, b) = 'python', 'life' # or [ ]
[ IF ]
# 한 줄 표현
message = "success" if score >= 60 else "failure"
[while 문] 참일 동안 실행
[FOR 문]
> Continue : 다음 문장 실행하지 않고 for문 처음으로 되돌아가기,
# marks2.py
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:
number = number +1
if mark < 60:
continue
print("%d번 학생 축하합니다. 합격입니다. " % number)
> 한 줄 표현
[표현식 for 항목 in 반복_가능_객체 if 조건문]
>>> a = [1,2,3,4]
>>> result = [num * 3 for num in a if num % 2 == 0]
>>> result = [x*y for x in range(2,10)
... for y in range(1,10)]
[함수]
> 함수 정의 과정에서 매개변수가 몇개가 될 지 모를 때,
def add_many(*args): # args는 인수를 뜻하는 영어 단어 arguments의 약자이며 관례적으로 자주 사용
... result = 0
... for i in args:
... result = result + i # *args에 입력받은 모든 값을 더한다.
... return result
# 예시
>>> def add_mul(choice, *args):
... if choice == "add": # 매개변수 choice에 "add"를 입력받았을 때
... result = 0
... for i in args:
... result = result + i
... elif choice == "mul": # 매개변수 choice에 "mul"을 입력받았을 때
... result = 1
... for i in args:
... result = result * i
... return result
> **kwargs처럼 매개변수 이름 앞에 **을 붙이면 매개변수 kwargs는 딕셔너리가 되고 모든 Key=Value 형태의 입력값이 그 딕셔너리에 저장
>>> def print_kwargs(**kwargs):
... print(kwargs)
# ‘keyword arguments’의 약자이며 args와 마찬가지로 관례적으로 사용
# 예시
>>> print_kwargs(a=1)
{'a': 1}
>>> print_kwargs(name='foo', age=3)
{'age': 3, 'name': 'foo'}
[파일 읽고 쓰기] _ 활용할 때 다시 볼 것.
파일_객체 = open(파일_이름, 파일_열기_모드)
#모드 : r(읽기), w(쓰기), a(추가)
참고) 파일 경로 쓸 때, 역슬래쉬(\)를 써도 되지만, \\ 두번 써야 한다.
뒷부분 내용들_ 활용할 때 다시 보기.
'[스파르타코딩클럽]데이터분석 과정 > PYTHON' 카테고리의 다른 글
[Python 코드카타] 26 ~ 30번 (프로그래머스) (0) | 2024.01.09 |
---|---|
[Python] 초보자를 위한 300제 (틀린 문제 복습 차원) (1) | 2024.01.08 |
[Python 코드카타] 21 ~ 25번 프로그래머스 (2) | 2024.01.08 |
[Python 코드카타] 16~20번 (프로그래머스) (1) | 2024.01.07 |
[Python 코드카타] 11 ~ 15번 (프로그래머스) (0) | 2024.01.06 |