1. 학습 목표
파이썬 기초 문법 공부하기
2. 학습 내용
1. 문자열
print('맥주 먹는 중')
print("곰표 맥주 존맛탱")
print("""
여러분은 맥주 좋아하시나요?
저는 어릴 때는 이걸 왜 먹지 했었는데요,
지금은 아주 좋아합니다. ^^""")
print('''진짜
끝
!''')
문자열은 위와 같이 작은 따옴표와 큰 따옴표 상관 없이 사용할 수 있다.
그리고 다른 언어에서는, 문자열 끝에 \n을 입력해줘야 줄이 바뀌는 경우가 많지만
파이썬은 자동 줄바꿈이다. 이것도 참 편하다
그리고 큰따옴표나 작은따옴표 세 개를 사용하면 한 문자열 내에서 \n 사용 없이 줄바꿈할 수 있다.
결과는 이렇다. 두번째 줄과 세번째 줄 사이에 공백이 생긴 건
내가 큰 따옴표 세 개 사용해줄 때 다음줄로 엔터를 한 것 때문 :D
따옴표 세 개 사용은 나도 잊고 있었는데 써먹어야겠다. ㅋㅋ
2. 문자열 포맷
문자열 포맷이란, 문자열 출력할 때 상황에 따라 적절한 값을 대입하게 해주는 방법이라고 볼 수 있겠다.
예를 들어, 구구단을 화면에 출력하고 싶다고 할 때 1단부터 9단까지 하나하나 직접 적으면
손이 정말 아플 것이다. ㅠ_ㅠ 그런데 이때 문자열 포맷과 반복문을 사용한다면? 쏘 EZ
진짜 여러가지 방법이 있고, 사용 방법과 결과는 다음과 같다.
# 방법 1
print("name : " + "연어\n")
# 방법 2
print("name : ", "연어\n")
# 방법 3
print("age : %d" % 24)
print("name : %s" % "연어")
print("Apple은 %c로 시작해요." % "A")
print("Apple은 %s로 시작해요." % "A")
print("%s는 %s을 좋아해요.\n" % ("박연어", "연어덮밥"))
# 방법 4
print("age : {}".format(24))
print("name : {}".format("연어"))
print("{}는 {}을 좋아해요.".format("박연어", "연어덮밥"))
print("{1}는 {0}을 좋아해요.\n".format("연어덮밥", "박연어"))
# 방법 5
print("""age : {age}
name : {name}
""".format(name="박연어",age=24)) # name과 age는 이 문장 내에서만 쓰임
# 방법 6 (3.6 이상)
age = 24
name = "박연어"
print(f"""age : {age}
name : {name}""") # 실제 변수를 갖다 씀
주목할 점은, c언어와 달리 문자를 큰 따옴표로 감싸도 된다는 것! :D
나는 이중에 개인적으로 1번이나 4번 방법을 선호하는 편이다.
이때 1번 방법의 경우에 주의할 것은
print("age : " + str(24)) # O
print("age : " + 24) # X
이렇게 숫자형 자료형에 str() 함수를 사용해서 문자열화 해준 후 사용해야 한다는 것이다.
반면 2번은, str() 함수 없이도 사용할 수 있지만, 띄어쓰기가 하나 포함되기 때문에 나는 불편해서 안 쓴다.
3. 탈출 문자
# \n : 줄바꿈
print("맥주는?\n곰표!")
# \", \' : 문장 내에서 큰 따옴표, 작은 따옴표
print('나는야 "박연어".')
print('나는야 \'박연어\'.')
print("나는야 '박연어'.")
print("나는야 \'박연어\'.")
# \\ : 문장 내에서 \
print("C:\Python39\python.exe") # 오류 난다는데 왜이리 잘 돼..?
print("C:\\Python39\python.exe")
# \r : 커서를 맨 앞으로 이동
print("Red Apple\rPine")
# \b : 백스페이스 (한 글자 삭제)
print("Redd\bApple")
# \t : 탭
print("Red\tApple")
탈출 문자는 위와 같은 것들이 있다. 자주 쓰이는 건 \n이나 \\?
이때 문장 내에서 \ 하나만 쓰면 출력이 안 된다고 하는데.. 난 잘만 된다.
버전 업글 되면서 수정됐을 수도 있고, ... 모르겠다.
4. 문자열 슬라이싱
문자열 슬라이싱은, 문자열에서 원하는 부분만 끄집어내는 방법이다.
이때 문자열의 맨 앞 부분을 0으로, 오른쪽으로 갈수록 +1 왼쪽으로 갈수록 -1이다.
그리고 여러개를 끄집어낼 때..^^ 후 진짜ㅋㅋ 언어마다 다 달라서 헷갈리는데
파이썬의 경우 [n:m]이라고 하면 n 이상, m 미만인 자리를 말한다.
예를 들어 [0:3]이면 [0, 1, 2]를 의미한다. :D
# 슬라이싱
jumin = "991231-1234567"
print("성별 : " + jumin[7]) # 1
print("연 : " + jumin[0:2]) # 0부터 2 직전까지 (0, 1)
print("월 : " + jumin[2:4])
print("일 : " + jumin[4:6])
print("생년월일 : " + jumin[:6]) # 처음부터 6 직전까지
print("뒤 7자리 : " + jumin[7:]) # 7부터 끝까지
print(jumin[-1]) # -1 : 맨 끝자리
print("뒤 7자리 (뒤에서부터) : " + jumin[-7:]) # 뒤에서 7번째 부터 끝까지
5. 문자열 처리 함수
# 문자열 처리 함수
python = "Python is Amazing"
print(python.lower()) # 소문자로 출력
print(python.upper()) # 대문자로 출력
print(python[0].isupper()) # 0번 자리가 대문자니?
print(len(python)) # 문자열의 길이 반환
print(python.replace("Python", "Java")) # Python을 Java로 바꿔서 출력, 문자열에는 변화 x
index = python.index("n") # python이라는 변수에서 n이 몇 번째 위치에 존재?
print(index)
index = python.index("n", index + 1) # 6번째 위치부터 찾았을 때 n이 나오는 위치
print(index)
# print(python.index("java")) ---> 없는 것을 찾았을 때 에러뜸!
print(python.find("n"))
print(python.find("java")) # 내가 원하는 변수가 없을 때 -1 반환
print(python.count("n")) # python이라는 변수에서 n이 몇 번 등장?
이 함수들도 진~짜 안 쓰이는 애들 중 하나이다. (내가 안 쓰인다고 하는 건, 오로지 나의 기준!)
그래도 len()함수는 많이 쓰이는데, 사실 문자열보다는 다른 자료형에서 많이 사용했었다.
3. 참고
나도코딩님의 파이썬 코딩 무료 강의 (기본편)
✨
- 개발자 아니고, 전자공학도가 적다 보니 완벽한 설명은 아닐 수 있습니다.
- 잘못된 설명이 있을 경우, 댓글로 말씀해 주시면 감사하겠습니다.
'coding > Python' 카테고리의 다른 글
[Python] 파이썬 문법 공부하기(2) : 연산자, 수식, 숫자 처리 함수, 랜덤 함수 (0) | 2021.09.03 |
---|---|
[Python] 파이썬 문법 공부하기(1) : print(), 주석처리, 자료형, type(), 변수 (0) | 2021.09.03 |
[Python] 파이썬 문법 공부하기(0) (0) | 2021.08.10 |