Study

[혼자 공부하는 파이썬] Chapter02 자료형

이웃비 2021. 3. 21. 02:38

이 장에서는 자료와 자료형을 알아본다

 


 

**
스터디하면서 이미 알고 있는 부분들은 제외하고 기록하고 싶은 부분만 업로드하기 때문에 책 내용과 순서가 다를 수 있습니다

 

1 . 자료형과 문자열

 

여러 줄 문자열 만들기

 

VScode로 입력후 practice.py 저장

 

python practice.py 실행결과

여러 줄 문자열은 이스케이프 문자를 써서 줄바꿈할수도 있지만, 큰따옴표 작은따옴표를 세번 반복해 입력한 후 문자열을 입력하면 Enter를 누루는 곳마다 줄바꿈이 일어난다

 

줄바꿈 없이 문자열 만들기

첫번째 줄과 마지막 줄에 의도하지 않은 줄바꿈이 들어가는 예

VScode

 

결과 -> 위아래 줄바꿈이 들어감

해결방법 -> \ 기호를 사용한다

\ 사용
줄바꿈 없음

 

문자 선택 연산자(인덱싱) : []

문자 선택 연산자 : 문자열 내부의 문자 하나를 선택하는 연산자

파이썬은 제로인덱스를 사용함

제로인덱스 : 숫자를 0부터 세는 것

소스코드
결과

줄문자열 범위 선택 연산자(슬라이싱): [:]

코드
결과

 

 

2 . 숫자

 

 

 

3 . 변수와 입력

 

변수 만들기/사용하기

# 변수 선언과 할당
pi = 3.14159265
r = 10

# 변수
print(" 원주율 =", pi) # 3.14159265
print(" 반지름 =", r) # 10
print(" 원의 둘레 =", 2 * pi * r) # 62.831853
print(" 원의 넓이 =", pi * r * r) # 314.159265

# 파이썬은 자바와 다르게 자료형을 미리 선언하지 않고 바로 쓸 수 있다.

 

사용자입력: input()

## 입력 자료형 확인하기

# 입력을 받습니다
number = input("입력 > ") # 123

# 출력합니다
print("자료: ", number) # 123
print("자료형: ", type(number)) # <class 'str'>
# 숫자나 boolean을 입력하더라도, 입력하면 string형이 된다
# 문자열을 바꾸는 방법 - 캐스트
# int() : 문자열을 int자료형으로 변환
# float() : 문자열을 float 자료형으로 변환

string_a = input("입력A> ") # 273
int_a = int(string_a)

string_b = input("입력B> ") # 12
int_b = int(string_b)

print("문자열 자료: ", string_a + string_b) #27312
print("숫자 자료: ", int_a + int_b) #285
## 스왑 : 변수교체
a = input("문자열 입력> ") # 안녕히
b = input("문자열 입력> ") # 가세요
print(a, b) # 안녕히 가세요

c = a
a = b
b = c

print(a, b) # 가세요 안녕히

 

 

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

 

문자열의 format() 함수

## format() 함수의 다양한 형태

# format() 함수로 숫자를 문자열로 변환하기
format_a = "{}만 원".format(5000)
format_b = "파이썬 열공하여 첫 연봉 {}만 원 만들기".format(5000)
format_c = "{} {} {}".format(3000, 4000, 5000)
format_d = "{} {} {}".format(1, "문자열", True)

# 출력하기
print(format_a) # 5000만 원
print(format_b) # 파이썬 열공하여 첫 연봉 5000만 원 만들기
print(format_c) # 3000 4000 5000
print(format_d) # 1 문자열 True
### format() 함수의 다양한 기능

## 정수를 특정 칸에 출력하기

# 정수
output_a = "{:d}".format(52) # :d를 사용하면 매개변수로 정수만 올 수 있다

# 특정 칸에 출력하기
output_b = "{:5d}".format(52)
output_c = "{:10d}".format(52)


# 빈칸을 0으로 채우기
output_d = "{:05d}".format(52)
output_e = "{:05d}".format(-52)

print("# 기본")
print(output_a) # 52
print("# 특정 칸에 출력하기")
print(output_b) #    52
print(output_c) #         52
print("# 빈칸을 0으로 채우기")
print(output_d) # 00052
print(output_e) # -0052
# 부호가 있을 때는 맨 앞자리를 부호로 채우고 나머지 빈 곳을 0으로 채운다

 

format() 함수의 다양한 기능

 

 

 

 

# 소수점 아래 자릿수 지정하기
output_a = "{:15.3f}".format(52.273)
output_b = "{:15.2f}".format(52.273)
output_c = "{:15.1f}".format(52.273)

print(output_a) #          52.273 
print(output_b) #           52.27
print(output_c) #            52.3
# 소수점 포함 자리가 15자리가 됨
# 의미 없는 소수점 제거하기
output_a = 52.0
output_b = "{:g}".format(output_a)
print(output_a) # 52.0
print(output_b) # 52

 

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

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

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

 

문자열 찾기: find()와 rfind()

  • find(): 왼쪽부터 찾아서 처음 등장하는 위치를 찾습니다
  • rfind(): 오른쪽부터 찾아서 처음 등장하는 위치를 찾습니다

 

문자열과 in 연산자

print("안녕"in "안녕하세요")의 결과는 True

 

문자열 자르기: split()

a = "10 20 30 40 50".split()

print(a)

결과 : ['10','20','30','40','50']

 

 

 

 


출처 : 윤인성혼자 공부하는 파이썬, 한빛미디어, 2021