일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- doitandroid
- 혼공파
- 정보처리기사
- 스터디
- 티스토리챌린지
- 안드로이드스튜디오
- Android
- 알고리즘
- CS
- 정처기
- 코테
- 코틀린
- MySQL
- join
- SQL
- 혼공챌린지
- 인프런
- Kotlin
- 자료구조
- 혼공단
- 오블완
- 기술면접
- groupby
- 자바
- 프로그래머스
- Til
- 안드로이드
- select
- 카카오코테
- java
- Today
- Total
Welcome! Everything is fine.
[혼공단 2주차] 혼자공부하는파이썬 Chapter 02-3 ~ 03 본문
💡 용어 정리
✔ 복합 대입 연산자 : 기존의 연산자와 조합하여 사용하는 연산자. ex) +=, -=, *=, /=, %=, **=
✔ 프롬프트 문자열 : input 함수 괄호에 입력한 내용.
✔ 블록 : 프로그램이 실행 도중에 잠시 대기하는 것.
✔ 캐스트 : 문자열을 숫자로 바꾸는 것과 같이 데이터 타입을 바꾸는 것. int( ), float( ) 혹은 str( )함수를 통해 바꿀 수 있음.
✔ 스왑 : 변수를 교체하는 것.
✔ 비파괴적 함수 : upper( ) 혹은 lower( ) 함수처럼 원본을 변화시키지 않는 함수.
✔ 조건 분기 : 조건을 기반으로 실행의 흐름을 변경하는 것.
💡 문자열 관련 다양한 함수
📃 format( )
파이썬의 문자열 포매팅 방법에는 % 연산자, fomat( ) 함수 혹은 f-string을 이용하는 방법이 있다. 아래는 format( ) 함수를 통해 숫자를 문자열로 변환하는 코드다.
a = "{}".format(10)
주의할 점은 중괄호의 개수와 format 함수 괄호 안 매개변수의 개수는 반드시 같아야 한다는 점이다.
a = "{} {} {} {}".format(1000, 2000, 3000, 4000)
b = "{} {} {}".format(1, "문자열", True)
# 확인문제 3번
a = input("> 1번째 숫자: ")
b = input("> 2번째 숫자: ")
print()
print("{} + {} = {}".format(a, b, a+b))
format( ) 함수를 이용하여 아래와 같이 정수를 특정 칸에 출력 하거나 빈칸을 0으로 채울 수도 있다. 또는 특정 기호를 붙여 출력 할 수 있다. 기호와 공백을 조합 할 때는 = 기호를 앞에 붙여 기호를 빈칸 앞에 붙일 것인지, 숫자 앞에 붙일 것인지 지정하는 기호이다.
# 특정 칸 띄우고 출력
a = "{:5d}".format(10)
b = "{:10d}".format(10)
# 빈칸을 0으로 채워서 출력
c = "{:05d}".format(10)
d = "{:05d}".format(-10)
# 기호 붙여서 출력
e = "{:+5d}".format(10)
f = "{:=+5d}".format(10) # + 10
g = "{:+05d}".format(10) # +0010
float 자료형을 출력 할 수도 있는데, float 자료형 출력을 지정하기 위해서는 {:f} 를 사용한다. 또한 소수점 아래 자릿수를 지정하는 기능도 있다. '.' 을 입력하고 몇 번째 자릿수까지 표시할지 지정하면 된다.
# 부동 소수점
a = "{:f}".format(52.234)
b = "{:10f}".format(52.234) # 10칸 만들기
c = "{:+10f}".format(52.234) # 10칸에 부호 추가하기
d = "{:+010f}".format(52.234) # 10칸에 부호 추가하고 0으로 채우기
# 소수점 아래 자릿수 지정
e = "{:10.3f}".format(52.234) # 10칸 만들고 소수점 3자리까지 출력
의미없는 소수점을 제거해야 할 때는 {:g}를 사용한다.
a = "{:g}".format(52.0)
📃 upper( ) / lower( )
upper( ) 함수는 문자열의 알파벳을 대문자로, lower( ) 함수는 문자열의 알파벳을 소문자로 만든다. 단, 이 함수를 사용한다고 해서 원본 문자열이 바뀌는 것은 아니다.
a = "Hello Python!"
a.upper() # HELLO PYTHON!
a.lower() # hello python!
📃 strip( )
strip( ) 함수는 문자열 양 옆의 공백을 제거한다. 왼쪽의 공백을 제거하고 싶을 땐 lstrip( ), 오른쪽의 공백을 제거하고 싶을 땐 rstrip( ) 함수를 사용하지만 거의 쓰이지 않는다. 이때 공백이란 '띄어쓰기', '탭', '줄바꿈'을 모두 포함한다.
a = """
안녕하세요
문자열 함수를 알아봅니다
"""
print(a.strip())
📃 isOO( )
문자열이 어떻게 구성되어있는지 확인 할 때는 is 로 시작하는 이름의 함수를 사용한다. 결과값은 True 혹은 False로 나온다. 그 중 책에 나온 몇 가지 예시는 아래와 같다.
◾ isalnum : 문자열이 알파벳 또는 숫자로만 구성되어 있는지 확인함.
◾ isalpha : 문자열이 알파벳으로만 구성되어 있는지 확인함.
◾ isdentifier : 문자열이 식별자로 사용할 수있는지 확인함.
◾ isdecimal : 문자열이 정수 형태인지 확인함.
◾ isdigit : 문자열이 숫자로 인식될 수 있는 것인지 확인함.
◾ isspace : 문자열이 공백으로만 구성되어 있는지 확인함.
◾ islower : 문자열이 소문자로만 구성되어 있는지 확인함.
◾ isupper : 문자열이 대문자로만 구성되어 있는지 확인함.
📃 find( )
find( ) 함수는 문자열 내부에 특정 문자가 어디에 위치하는지 확인 할 때 사용한다. find( ) 함수는 왼쪽부터 찾고, rfind( ) 함수는 오른쪽부터 찾는다.
a = "안녕안녕하세요".find("안녕") # 0
b = "안녕안녕하세요".rfind("안녕") # 2
📃 in 연산자
in 연산자는 문자열 내부에 어떤 문자열이 있는지 확인할 때 사용한다. 결과값은 True 혹은 False로 나온다.
print("안녕" in "안녕하세요") # True
print("잘자" in "안녕하세요") # False
📃 split( )
split( ) 함수는 문자열을 특정한 문자로 자를 때 사용한다. 결과값은 리스트로 나온다. 아래 예제에서는 괄호 안의 공백을 기준으로 자른 것이다.
a = "10 20 30 40 50".split(" ") # ['10', '20', '30', '40', '50']
💡 불 자료형과 if 조건문
📃 불 자료형
불(Boolean)은 참(True)과 거짓(False)를 나타내는 값을 가지는 기본적인 자료형이다. 불은 비교연산자를 통해 만들 수 있으며, 불끼리는 논리연산자를 사용할 수 있다. 논리 연산자에는 not, and, or 세 개의 연산자가 있다. not은 참과 거짓을 반대로 바꿀 때 사용한다. and는 양쪽 변의 값이 모두 참일때만 True를 반환한다. or는 둘 중 하나만 참이어도 True를 반환한다.
📃 if 조건문
if 문은 조건에 따라 코드를 실행하거나 실행하지 않게 할 때 사용하는 구문이다. if 문의 기본적인 구조는 아래와 같다.
if True: # 불 값이 나오는 표현식
print("True입니다.") # 불 값이 참일때 실행할 문장
아래는 if 문 확인문제 4번이다.
a = int(input("> 1번째 숫자: "))
b = int(input("> 2번째 숫자: "))
print()
if a > b:
print("처음 입력했던 {}가 {}보다 더 큽니다".format(a, b))
if a < b:
print("처음 입력했던 {}가 {}보다 더 큽니다".format(b, a))
조건문이 오로지 두 가지로만 구분될 때는 if else 구문을 사용하여 조건 비교를 한 번만 하는 것이 더 효율적이다. 또한 세 개 이상의 조건을 연결해서 사용해야 할 때도 있는데, 그럴 때는 elif 구문을 사용하는 것이 좋다.
# if else 구문으로 짝수와 홀수 구분하기
num = int(input("정수 입력> "))
if num % 2 == 0:
print("짝수입니다")
else:
print("홀수입니다")
📃 False로 변환되는 값
False로 변환되는 값은 None, 숫자 0과 0.0, 빈 컨테이너(빈 문자열, 빈 리스트, 빈 튜플, 빈 딕셔너리 등)이다.
# if 조건문에 0 넣기
if 0:
print("0은 True로 변환됩니다.")
else:
print("0은 False로 변환됩니다.")
print()
# if 조건문에 빈 문자열 넣기
if"":
print("빈 문자열은 True로 변환됩니다.")
else:
print("빈 문자열은 False로 변환됩니다.")
📃 pass / raise 키워드
프로그래밍의 전체 골격을 잡아놓고 만드는 경우, "아무것도 안함", "곧 개발하겠음"과 같은 의미로 pass키워드를 사용한다.
num = int(input("정수 입력 : "))
if num > 0:
pass # 양수일 때: 아직 미구현 상태
else:
pass # 음수일 때: 아직 미구현 상태
혹은 raise 키워드와 NotImplementedError를 조합해서 raise NotImplementedError를 사용하면 미구현 상태임을 표현하는 오류를 강제로 발생시킬 수 있다.
num = int(input("정수 입력 : "))
if num > 0:
raise NotImplementedError # 양수일 때: 아직 미구현 상태
else:
raise NotImplementedError # 음수일 때: 아직 미구현 상태
코드를 실행하면 정상적으로 진행되지만 구현되지 않은 부분에 들어서면 NotImplementedError라는 오류를 발생시킨다.
✅ 기본미션 수행 결과
# 사용자에게 태어난 연도를 입력받아 띠를 출력하는 프로그램(elif 구문 사용)
# 다음 주차에 배울 리스트와 반복문을 활용하여 더 간단하게 짠 코드
✅ 선택미션 수행 결과
'자격증 및 기타 활동 > 한빛미디어 혼공단' 카테고리의 다른 글
[혼공단 5주차] 혼자 공부하는 파이썬 Chapter 06 ~ 07-1 (0) | 2021.08.08 |
---|---|
[혼공단 4주차] 혼자 공부하는 파이썬 Chapter 05 (0) | 2021.08.01 |
[혼공단 3주차] 혼자 공부하는 파이썬 Chapter 04 (0) | 2021.07.25 |
[혼공단 2주차] 선택미션 - else 구문과 elif 구문 정리 (0) | 2021.07.18 |
[혼공단 1주차] 혼자 공부하는 파이썬 Chapter 01 ~ 02-1 (0) | 2021.07.10 |