파이썬... 몰랐던 것들이나 새로 봐서 헷갈리는 것들 위주로 정리하는데
자료형은 낯선 개념이 많아서 그냥 한 번에 싹 다 정리 좀 해봄
type()
자료 형식 확인 오 JS에서도 typeof()
로 확인하는데 역시 다 비슷해비슷해~
+
문자열 연결 연산자 *
문자열 반복 연산자[]
문자 선택 연산자(인덱싱)[:]
문자열 범위 선택 연산자(슬라이싱)len()
문자열 길이 구하기
//
나머지의 몫만 구하기%
나머지만 구하기오 //
는 첨보는거당
input()
사용자 입력괄호 안에 입력한 내용을 프롬프트 문자열이라고 한다
→ 당연히 다 문자열로 받아들임
int()
→ 소수점이 있는 숫자 형식의 문자열을 이거로 바꾸려고 하면 에러 float()
str()
사실 여기가 어려워서 정리를 해야겠다고 생각했다. 왤케 헷갈려!
format()
함수"{}".format(10)
"{}, {}".format(10, 20)
중괄호{}를 포함한 문자열 뒤에 마침표(.)를 찍고
format()
함수를 사용한다.
중괄호의 개수와 format 함수 괄호 안 매개변수의 개수는 반드시 같아야 한다.
👉 앞쪽에 있는 문자열의 {} 기호가 format()
함수 괄호 안에 있는 매개변수로 차례로 대치되면서 숫자가 문자열이 된다
format()
함수를 통해 정수를 다양한 형태로 출력할 수 있다.
output_a = "{:d}".format(52)
output_b = "{:5d}".format(52)
output_c = "{:10d}".format(52)
output_d = "{:05d}".format(52)
output_e = "{:05d}".format(-52)
{:d}
→ 정수를 출력하겠다! (매개변수로 정수 지정){:[n]d}
→ 특정 칸에 맞춰서 숫자를 출력하는 형태 {:0[n]d}
→ 빈칸을 0으로 채우는 형태로 부호가 있을 때는 맨 앞자리를 부호로 채운 후 나머지 빈 곳을 0으로 채운다. 따라서 결과는 아래와 같다.
52
52
52
00052
-0052
오... 머랄까 이거 다 정규표현식 ㅠ 같구먼 ㅠ
output_f = "{:+d}".format(52)
output_g = "{:+d}".format(-52)
output_h = "{: d}".format(52)
output_i = "{: d}".format(-52)
{+}
기호 → 양수와 음수 기호 표현 가능!
→ 앞에 공백을 두어 기호 위치를 비운다면 함수에 입력한 기호가 표현된다+52
-52
52
-52
output_h = "{:+5d}".format(52)
output_i = "{:+5d}".format(-52)
output_j = "{:=+5d}".format(52)
output_k = "{:=+5d}".format(-52)
output_l = "{:+05d}".format(52)
output_m = "{:+05d}".format(-52)
{=}
→ 기호를 앞으로 밀어준다 (빈칸 앞에 붙이기) +52
-52
+ 52
- 52
+0052
-0052
* 기호의 순서가 중요하다!
output_a = "{:f}".format(52.723)
output_b = "{:15f}".format(52.723)
output_c = "{:+15f}".format(52.723)
output_d = "{:+015f}".format(52.723)
{:f}
→ float 자료형 출력을 강제 지정 나머지 기능은 앞에서 사용하는 것 그대로 사용이 가능하다.
52.723000
52.723000
+52.723000
+0000052.723000
output_a = "{:15.3f}".format(52.723)
output_b = "{:15.2f}".format(52.723)
output_c = "{:15.1f}".format(52.723)
{.}
→ 소수점 아래 자리수 지정이 가능하다 52.723
52.72
52.7
output_a = 52.0
output_b = "{:g}".format(output_a)
{:g}
→ 의미 없는 소수점 제거 52.0
52
join()
👉 리스트 등의 시퀀스를 하나의 문자열로 결합
[start:end:step]
👉 문자열 일부 선택
upper()
| lower()
capitalize()
title()
strip()
| lstrip()
| rstrip()
isOO()
생각해보면 이거도 JS로 코테 풀 때 진짜 많이 썼던건데! 확실히 겹치는게 많은 것 같다. 하지만 아직도 파이썬 너무 낯설어...!
isalnum()
isalpha()
isidentifier()
isdecimal()
isdigit()
isspace()
islower()
isupper()
뭔가 다 대충 뭔지 알 것 같은 이름 굳이 외우지 말고 이런게 있다~ 이런 기능이 아닐까~ 익숙해지기만 하면 될 것 같다.
find()
| rfind()
index()
"안녕안녕안녕하세요".find("안녕")
# 결과: 0
"안녕안녕안녕하세요".rfind("안녕")
# 결과: 2
👉 문자열 내부에 특정 문자가 어디에 위치하는 지 확인할 때 사용한다. (r은 right를 의미함. 오른쪽 끝부터 찾기) 왼쪽 | 오른쪽 부터 문자열이 어디에 처음 등장하는지 찾아내어 인덱스를 반환한다.
👉 index() 메서드는 특정 문자열이 처음 나타나는 위치 반환, 못 찾으면 오류
in
연산자print("안녕" in "안녕하세요")
# 결과 : True
print("잘자" in "안녕하세요")
# 결과 : False
👉 문자열 내부에 어떤 문자열이 있는지 확인할 때 사용, boolean 값을 반환한다!
split()
👉 실행 결과로 리스트가 나온다.
기본 구분자는 공백이다.
f'문자열{표현식}문자열'
👉 괄호 안에는 어떤 표현식이든 넣을 수 있다!
format과 f-문자열은 상황에 따라 더 좋은 쓰임이 있다. 구분해서 쓰면 좋을듯 !
replace()
👉 문자열 내의 특정 부분을 다른 문자열로 대체
뒤에 문제 풀다가... 반환값을 제대로 인지하지 못한 상황에서 무척 간단해보이는 문제를 틀렸다. JS만 쓰다가 오니까... 어유 속터져~!! 그래도 이거도 열심히 해봐야지. 어렵다기보단 헷갈리고... 더 잘하고 싶어!!! 뿌앵