본문 바로가기
AI, 머신러닝, 딥러닝, 데이터 분석

파이썬 300제 복습(1번~20번 변수~40번 문자열까지)

by 포로리다 2023. 6. 22.
728x90

1. 문자열 프린트 시  " " 입력 필수.

5. \t는 탭(들여쓰기)을 의미하고 `\n'`은 줄바꿈을 의미

6. 여러 값을 출력하려면 print 함수에서 쉼표로 구분, 쉼표 기재 시 공백이 하나 발생함.

7. print 함수의 sep 인자로 ";"를 입력하면 ( ,sep=";" )출력되는 값들 사이에 한 칸의 공백대신 세미콜론이 출력

,sep ="something"

print("naver", "kakao", "sk", "samsung", sep=";")

>>> naver;kakao;sk;samsung

print("naver", "kakao", "sk", "samsung")

>>> naver kakao sk samsung

9. 세미콜론 (;)은 한줄에 여러 개의 명령을 작성하기 위해 사용

end='' 사용 시 줄바꿈없이 출력 가능

 

12. 변수 이름은 숫자로 시작할 수 없음

변수에 '바인딩'만 하면 되는 문제였음.

float = 실수형, int = 정수

 

21. 인덱싱: 문자열에서 한 글자를 가져오는 것 

변수 = 문자열

print(변수[가져올 위치의 숫자], 변수[숫자]......)

 

22. 슬라이싱: 문자열에서 여러 글자를 가져오는 것

23. 슬라이싱할 때 [`시작인덱스 : 끝인덱스 : 오프셋(간격)`]

24. 역순

print(string[::-1])

25. 변수명.replace()  #치환 replace 메서드

문자열은 수정할 수 없는 자료형이므로 기존 문자열은 그대로 두고 치환된 새로운 문자열이 리턴되도록

 

방법1. phone_number = "010-1111-2222"

           print(phone_number.replace("-", " "))

 

방법2. phone_number = "010-1111-2222"

           phone_number1 = phone_number.replace("-", " ")
           print(phone_number1)

 

26. 문자열에선 remove 메서드 사용할 수 없음

 

27. 변수.split()  #분리

방법1. url = "http://sharebook.kr"
           print(url[-2:])

방법2. url = "http://sharebook.kr"

           domain = url.split(".")
           print(domain[-1])

방법3. url = "http://sharebook.kr"

           domain = url.split(".")
           print(domain[1])

 

결과값>>> kr 

 

28. 문자열은 변하지 않음 immutable #불변

      문자열은 수정할 수 없음

      문자열을 치환할 수 없음.(문자열이 할당(assignment) 메서드를 지원하지 않음)

 

불가능 방법

lang = 'python'
lang1 = lang.replace('p', 'P')
print(lang1)

가능한 방법

lang = 'python'
lang1 = lang.replace('p', 'P')
print(lang1)

30. 문자열은 변경할 수 없는 자료형

.replace 메서드 사용 시 원본은 그대로 둔 채로 변경된 새로운 문자열 객체를 리턴해 줌

 

31. 덧셈 기호는 문자열을 연결하는 기능

 

34. 

내가 쓴 방법

t1 = 'python'
t2 = 'java'
print((t1 + " " + t2 + " ") * 4)

권고 방법 (변수 t3 을 활용하여 프린트 공식이 간결해 짐)

t1 = 'python'
t2 = 'java'
t3 = t1 + " " + t2 + " "
print(t3 * 4)

(오답)

35. 포맷팅

36  .format() 메서드는 타입과 상관없이 값이 출력될 위치에 {}를 적어주면 됨

37. f-string 사용

 

35. print("이름: %s 나이: %d" % (name1, age1))

36. print("이름: {} 나이: {}".format(name1, age1))

37. print(f"이름: {name1} 나이: {age1}")

 

39. 문자열 슬라이싱 , 다음과 같은 문자열에서 '2020/03'만 출력하세요.

내가 쓴 답: .split 메서드로 굳이 한번 쪼개서 앞 조각을 출력함

분기 = "2020/03(E) (IFRS연결)"
분기2 = 분기.split("(")
print(분기2[0])

권고 답: 슬라이싱을 사용해서 필요한 구간까지 잘라서 출력함

분기 = "2020/03(E) (IFRS연결)"
print(분기[:7])

 

 

40.  .strip( ) 메서드 : 좌우의 공백을 제거 가능

이때 원본 문자열은 그대로 유지되고 공백이 제거된 새로운 문자열이 반환됨

 

44. endswith(엔즈위드)메서드 : 문자열이 지정 문자열로 끝나는지 체크

True/False 확인

string.endswith(value(필수), start(선택, 기본값0), end(선택, 기본값 문자열 끝))

  • 범위 정해 문자열 중간 부분 체크 가능.
  • 대소문자 체크함.

47. split 메서드

내가 쓴 답 

a = "hello world"
a1 = a.split()
print(a1)

결과 >>> ['hello', 'world']

 

권고 답

a = "hello world"
print(a.split())

결과 >>> ['hello', 'world']

 

50. rstrip 메서드

rstrip() 메서드를 사용하면 오른쪽 공백이 제거된 새로운 문자열 객체가 반환됨

그 값을 data라는 변수가 새로 바인딩합니다.

기존의 공백이 포함된 문자열은 메모리에서 자동으로 삭제됨.

728x90