Immersion In Data

Python/혼자 공부하는 파이썬

[Python] 2-2. 숫자, 변수와 입력, 숫자와 문자열의 다양한 기능

sungjunminn 2022. 10. 20. 11:18

1. 숫자

종류

  • int(integer) : 정수

ex) 0, 1, 273, -52

  • float(floating point) : 실수(부동 소수점)

ex) 0.0, 52.273, -1.2

 

사칙 연산자

기본적으로 / * + - 가 있고 / 사용시 실수형으로 결과가 출력된다.

  • // : 정수 나누기 연산자 => 숫자를 나누고 소수점 이하의 자리수를 버린후 정수 부분만 남긴다.
  • % : 나머지 연산자
  • ** : 제곱 연산자(2**3 은 8을 의미한다.)

 

 

2. 변수와 입력

변수 만들기/사용하기

pi = 3.14159265
print(pi)

변수 선언, 변수에 값을 할당, 변수 참조
C나 자바 등에서는 기본적으로 변수의 자료형을 미리 선언해 주어야 하지만 파이썬은 같은 변수에 여러 종류의 자료형을 넣을 수 있다.

 

사용자 입력 : input()

number = input("숫자 입력 : ")
print(number)

input 함수는 사용자가 무엇을 입력해도 결과는 무조건 문자열 자료형이다. 하지만 이 자료형을 형변환으로 바꿀 수 있다.

  • int() : 문자열을 int 자료형으로 변환
  • float() : 문자열을 float 자료형으로 변환
string_a = input("정수를 입력 ")
string_b = input("정수를 입력 ")
print("덧셈 결과 ",int(string_a)+int(string_b))

# 보통 입력과 동시에 한다.
string_a = int(input("정수를 입력 "))

변환할 수 없는 것을 변환 시 오류 발생 ValueError

output_a = int("52")
output_b = float("52.273")
output_c = float("안녕하세요") # 오류 발생
output_d = int("12.567") # 부동 소수점 오류 발생

 

숫자를 문자열로 바꾸기 : str()

문자열을 숫자로 변환하는 것처럼 숫자를 문자열로 변환하는 것도 가능하다. int() float() 형태와 비슷하다.

# str(다른 자료형)

output_a = str(52)
print(type(output_a), output_a)

# 출력
<class 'str'> 52

 

 

3. 숫자와 문자열의 다양한 기능

 

문자열의 format() 함수

"{}".format(10)
"{} {}".format(10,20)
string_a = "{}".format(10) # 함수로 숫자를 문자열로 변환
string_b = "{} 만원".format(5000)

name = "Mike"
print(f"my name is {name}")
  • 중괄호{}를 포함한 문자열 뒤에 마침표를 찍고 format() 함수를 사용한다.
  • 함수의 매개인자를 문자열 처리한다.
  • 반드시 중괄호의 갯수와 format 함수 괄호 안 매개변수의 개수는 같아야 한다.
  • {} 기호 대신 format 괄호 안에 있는 매개변수로 대체하는 것 뿐이기에 {}와 {} 사이에 다양한 문자열을 넣을 수 있다.
  • {} 개수가 매개변수의 개수보다 많으면 IndexError 예외가 발생하지만 매개변수의 개수가 더 많은 경우에는 {} 개수만큼만 적용되고 나머지는 버려진다.
  • 앞에 f를 붙이고 {} 안에 직접 대입을 통해 직관적으로 작성 가능

다양한 format() 기능

output_a = "{:d}".format(52) # 문자열처리가 아닌 정수 처리
output_b = "{:5d}".format(52) # 총 5칸을 차지하고 오른쪽에서 왼쪽으로 
output_c = "{:05d}".format(52) # 총 5칸 차지하고 왼쪽에 남은 공간 0으로 채우기
output_d = "{:05d}".format(-52) # 맨 앞칸은 -부호가 차지한다. -0052
output_e = "{:+d}".format(52) # 부호화 함께 출력 +52
output_f = "{:+d}".format(-52) # 부호화 함께 출력 -52
output_g = "{: d}".format(52) # 부호부분 공백 ,, 즉, 총 3칸 차지하고 맨 앞 공백
output_h = "{: d}".format(-52) # -52 출력
output_i = "{:+5d}".format(52) # 기호 뒤로 밀기 즉, 앞 2칸 공백 이후 +52
output_j = "{:=+5d}".format(52) # 기호 앞으로 밀기, 부호만 맨 앞으로

# 부동 소수점 출력
output_k = "{:f}".format(52.273) 
output_l = "{:15f}".format(52.273) # 15차지 오른쪽에서 왼쪽으로 .도 1칸차지 
output_m = "{:15.2f}".format(52.273) # 15칸차지 2칸은 소수점

output_n = 52.0
output_o = "{:g}".format(output_n) # 의미없는 소수점 제거 => 52 
이외에는 정수와 마찬가지

 

대소문자 바꾸기 : upper() lower()

a = "Hello World"
print(a.upper()) # 전부 대문자로 출력
print(a.lower()) # 전부 소문자로 출력

 

문자열 양옆의 공백 제거하기 : strip()

  • strip() : 문자열 양옆의 공백 제거
  • lstrip() : 문자열 왼쪽의 공백 제거
  • rstrip() : 문자열 오른쪽의 공백 제거
input_a = """
안녕하세요
"""
print(input_a)

# 출력
(줄바꿈)
안녕하세요
(줄바꿈)

print(input_a.strip())

# 출력
안녕하세요

 

문자열의 구성 파악하기 : isOOO()

  • isalnum() : 문자열이 알파벳 또는 숫자로만 구성되어 있는지 확인
  • isalpha() : 문자열이 알파벳으로만 구성되어 있는지 확인
  • isidentifier() : 문자열이 식별자로 사용할 수 있는지 확인
  • isdecimal() : 문자열이 정수 형태인지 확인
  • isdigit() : 문자열이 숫자로 인식될 수 있는 것인지 확인
  • isspace() : 문자열이 공백으로만 구성되어 있는지 확인
  • islower() : 문자열이 소문자로만 구성되어 있는지 확인
  • isupper() : 문자열이 대문자로만 구성되어 있는지 확인
print("Train10".isalnum())

# 출력
True

 

문자열과 in 연산자

  • 문자열 내부에 어떤 문자열이 있는지 확인하기 위해서 사용
  • True 또는 False를 반환
print("안녕" in "안녕하세요") # True 반환
print("잘차" in "안녕하세요") # False 반환

 

문자열 자르기 : split()

  • 문자열을 특정한 문자로 자를때 사용
  • 실행결과로 리스트가 나온다.
a = "10 20 30 40".split(" ") # 공백을 기준으로 자른다.
print(a) # ['10', '20', '30', '40'] 이 출력된다.

 

 

‘혼자 공부하는 파이썬’을 읽고 공부한 내용을 바탕으로 작성하였습니다.