지난 주 1주차 공부를 마친 후에, 갑자기 노트북이 버벅이더니 아예 맛이 가버려서...

그 동안 멘붕 그 자체였다.ㅠㅠ 공부도 계속 못하고...ㅠㅠㅠㅠ

급하게 새 노트북을 구매했는데, 이전 노트북에 있던 자료들은 어떻게 해야 할지 모르겠다...

평일에 노트북 이슈로 공부를 못했으니 주말에 빡세게 했다.ㅎㅎ

 


Chapter 02. 자료형

[변수와 입력]

 

✏️ 변수 : 값을 저장할 때 사용하는 식별자이며, 모든 자료형의 값을 저장할 수 있다.

변수를 사용하기 위해서는 ① 변수를 선언하고, ② 선언한 변수에 값을 할당해야 한다. 그 후 ③ 변수 안의 값을 사용할 수 있다.

 

✔️ 변수 선언 : 변수를 생성하는 것.
       - 파이썬에서 사용할 변수 이름을 적어 주면 변수를 선언할 수 있다.

 

✔️ 변수에 값 할당 : 생성한 변수에 값을 저장하는 것

       - 선언한 변수에 ' = ' 기호를 통해 값을 할당할 수 있다.  

 

✔️ 변수의 사용 ( = 변수 참조) : 생성한 변수에 있는 값을 사용한다.

# 변수의 선언 및 할당
# 변수 pi를 선언하고, 값 (3.14)을 할당한다.
pi = 3.14

# 변수의 사용
# 변수 pi에 저장한 값을 출력할 수 있다.
print(pi)	# 3.14

# 변수 pi에 저장된 값으로 연산한다.
pi + pi

 

 파이썬은 다른 프로그래밍 언어와는 다르게 변수에 자료형을 지정하지 않기 때문에 변수 선언 시 자료형을 선언할 필요가 없다.


[복합 대입 연산자의 사용]

 

✏️ 변수는 내부에 들어 있는 자료의 연산자를 사용할 수 있다.

✏️ 문자열이 할당된 경우 문자열 연산자를 사용할 수 있으며, 숫자가 할당된 경우 숫자 연산자를 사용할 수 있다.

✏️ 자료형의 기본 연산자와 '=' 연산자를 조합해서 사용할 수 있는 연산자이다.

예시 ) a += 10 은 a = a + 10 과 같다.

 

[숫자 자료형에 적용할 수 있는 복합 대입 연산자]

연산자 이름 설명
+= 숫자 덧셈 후 대입
-= 숫자 뺄셈 후 대입
*= 숫자 곱셈 후 대입
/= 숫자 나눗셈 후 대입
%= 숫자의 나머지를 구한 후 대입
**= 숫자 제곱 후 대입

 

number = 10
number += 10

print(number)	# 20

number -= 10
print(number)	# 10

number *= 2
print(number)	# 20

 

[문자 자료형에 적용할 수 있는 복합 대입 연산자]

연산자 이름 설명
+= 문자열 연결 후 대입
-= 문자열 반복 후 대입
string = "안녕하세요"
string += "!"

print(string)	# 안녕하세요!

string *=2
print(string)	# 안녕하세요!안녕하세요!

✏️ input( ) 함수 : 콘솔 창 (명령 프롬프트) 에서 사용자로부터 데이터를 입력받을 때 사용하는 함수이다.

input 함수 실행 시 콘솔 창에 사용자로부터 입력값이 들어올 때 까지 대기 상태가 된다. 값을 입력하고 엔터키를 누르면 다음 로직을 수행한다.

>>>> input("입력하세요")
입력하세요:

 

★ 사용자가 입력한 값은 input() 함수의 결과값이 된다. 이 값은 다른 변수에 할당해 사용할 수 있다.

>>>> string = input("인사말을 입력하세요: ")
인사말을 입력하세요: 안녕
>>>> print(string)
인사말을 입력하세요: 안녕

 

✏️ input() 함수의 입력 자료형 : input() 함수는 입력한 값을 무조건 문자열로 처리한다.

number = input("숫자를 입력하세요: ")
	# 숫자를 입력하세요: 123

print(number)	# 123
print(type(number))	# <class 'str'>

 

★ input() 함수로 숫자를 입력받는 경우, 입력받은 문자열을 숫자로 변환하는 작업이 필요하다. (캐스트 작업)

문자열을 숫자로 변환할 때는 다음 함수를 사용한다.

  • int() : 문자열을 정수형(int) 으로 변환한다.
  • float() : 문자열을 실수형(float) 으로 변환한다.

이와 반대로 숫자를 문자열로 변환할 때는 다음 함수를 사용한다.

  • str(숫자)
# input() 값을 입력받은 후, int 로 형변환하여 사용할 수 있다.
string_a = input("입력>")
int_a = int(string_a)
print(type(int_a))	# <class 'int'>

# 입력 받을 때 부터 int로 형변환하여 사용할 수 있다.
a = int(input("입력>"))
print(type(a))	# <class 'int'>

# 숫자 123을 string으로 형변환하여 사용할 수 있다.
int_b = str(123)
print(type(int_b)

[숫자와 문자열의 다양한 기능]

 

✏️ 문자열의 format() 함수

  • 숫자와 문자열을 다양한 형태로 출력할 수 있는 함수
  • 중괄호 { } 를 포함한 문자열 뒤에 마침표 (.) 를 찍고 format() 함수를 사용한다.
  • 중괄호 개수와 format() 함수 괄호 안 매개변수의 개수는 반드시 같아야 한다.
  • { } 기호를 format() 함수 안의 괄호 안에 있는 매개변수로 대체하는 것이기 때문에 { } 앞이나 뒤, { } 와 { } 사이에 다양한 문자열을 넣을 수 있다.
format_a = "{}".format(10)			# 10
format_b = "{} 만원".format(5000)	  # 5000 만원
format_c = "{} {} {}".format(300, 400, 500) # 300 400 500
  • format() 함수는 정수, 실수형도 지정해서 출력할 수 있다.
    • 정수형은 {:d} , 실수형은 {:f} 사용.
# 정수 출력
output_a = "{:d}".format(32)
# 음수 출력
output_b = "{:+d}".format(-32)
# 특정 칸 출력 
output_c = "{:5d}".format(11)
# 빈칸을 0으로 채우기
output_d = "{:05d}".format(11)

# 실수 출력
output_e = "{:f}".format(52.12)
# 음수 출력
output_f = "{:f}".format(-52.12)
# 소수점 아래 자릿수 지정
output_g = "{:.2f}".format(52.1234)
# 의미 없는 소수점(.0) 제거
output_h = "{:g}".format(52.0)

# 출력
32
-32
   11
00011
52.120000
-52.120000
52.12
52

 

✏️ 대소문자 변환 : upper(), lower()

  • upper() : 문자열의 알파벳을 대문자로 변경
  • lower() : 문자열의 알파벳을 소문자로 변경
a = "Hello World"
# a에 저장된 문자열을 모두 대문자로
print(a.upper())	# HELLO WORLD
# a에 저장된 문자열을 모두 소문자로
print(a.lower())	# hello world

 

✏️ 문자열 공백 제거 : strip()

  • strip() : 문자열 양 옆의 공백을 제거 (이 때 공백은 띄어쓰기, 탭, 줄바꿈 모두 포함)
  • lstrip() : 문자열 왼쪽의 공백을 제거
  • rstrip() : 문자열 오른쪽의 공백을 제거
input_a = """
        안녕하세요, 반갑습니다
"""
print(input_a)
print(input_a.strip())
# 출력
        안녕하세요, 반갑습니다

안녕하세요, 반갑습니다

 

✏️ 문자열 구성 파악 함수 : isXXX()

  • 문자열의 구성을 파악할 때는 is로 시작하는 함수를 사용한다. 예를 들어서 문자열이 알파벳으로만 구성되어 있는지, 숫자로만 구성되어 있는지, 소문자로만 구성되어 있는지 등을 확인할 때 유용하다. 출력은 True / False 를 반환한다.
    • isalnum() : 문자열이 알파벳 또는 숫자로 구성되어 있는 지 확인
    • isalpha() : 문자열이 알파벳으로만 구성되어 있는 지 확인
    • isdigit() : 문자열이 숫자로 인식될 수 있는지 확인

✏️ 문자열 찾기 함수 : find()

  • 문자열 내부에 특정 문자가 어디 위치하는 지 확인하기 위해 find() 함수와 rfind() 함수를 사용한다.
  • find() : 문자열의 왼쪽부터 찾아서 처음 등장하는 위치 반환
  • rfind() : 문자열의 오른쪽부터 찾아서 처음 등장하는 위치 반환
output_a = "안녕안녕하세요".find("안녕")	# 0
output_b = "안녕안녕하세요".rfind("안녕")	# 2

 

✏️ in 연산자

  • 문자열 내부에 어떤 문자열이 있는 지 확인하려면 in 연산자를 사용한다.
  • 문자열이 있으면 True , 없으면 False를 리턴한다.
print("안녕" in "안녕하세요")	# True
print("잘자" in "안녕하세요")	# False

 

✏️ 문자열 자르기 : split()

  • split() 함수를 사용해서 문자열을 특정 문자로 자를 수 있다.
# 문자열 a 를 공백을 기준으로 자른다.
a = "10 9 8 7 6 5 4 3 2 1".split(" ")

print(a)
['10', '9', '8', '7', '6', '5', '4', '3', '2', '1']

 

✏️ f-문자열

  • 문자열 안에 값을 format() 보다 간단하게 삽입할 수 있다.
  • 파이썬 3.6 버전 이상부터 사용 가능하며, 문자열 앞에 f를 붙여서 만든다. 문자열 내부에 표현식을 { } 로 감싸서 삽입할 수 있다.
f ' 문자열 {표현식} 문자열 '

 

# format 함수 사용
a = "{}".format(10)
# f문자열 사용
b = f'{10}'	# 10
# {} 안에 표현식 사용
c = f"3 + 4 = {3+4}"
# 출력
3 + 4 = 7

 

2024.01.13 - [개발/혼공학습단_11기] - [혼공파] 혼자 공부하는 파이썬_2주차 (2)

+ Recent posts