ch02. 자료형

728x90

ch02. 자료형

02-1. 자료형과 문자열

자료(data) : 프로그램이 처리하는 모든 대상

프로그램 : 자료를 처리하는 역할

자료형(data type) : 자료의 형식

[기본자료형]

-문자열

-숫자

-(boolean)

<자료 형식 확인> : type() 함수

- 괄호() 내부 매개변수의 자료 형식 리턴

ex) print ( type ( “안녕하세요” ) )

class ‘str’

[문자열 만들기]

(1) 큰따옴표(“)로 문자들 감싸서 만들기

(2) 작은따옴표(‘)로 문자들 감싸서 만들기

<문자열 내부에 따옴표 넣기>

- 큰따옴표 내부에 작은 따옴표 넣기

- 작은 따옴표 내부에 큰 따옴표 넣기

- 이스케이프 문자 사용해 따옴표 넣기

/” : 큰따옴표 자체를 문자열로 인식

/’ : 작은 따옴표 자체를 문자열로 인식

< 이스케이프 문자 >

\n(줄바꿈)

\t(탭기능)

\\(역슬래쉬출력)

<여러 줄 문자열 출력>

(1) \n 활용 : \n 기준으로 줄 바꿈O

(2) “”“ or ‘’‘ 활용 : enter 기준으로 줄 바꿈O

[문자열 연산자]

- 각각의 자료는 각자 사용 가능한 연산자 정해져 있다

<문자열 연결 연산자> : +

: 두 문자열 연결해서 새로운 문자열을 만들어 냄

문자열“ + ”문자열

: + 연산자 사용 시, 문자열끼리 or 숫자끼리만 가능O ,

<문자열 반복 연산자> : *

: 문자열을 숫자만큼 반복해서 출력함

(문자열 * 숫자) or (숫자 * 문자열)

ex) print(“안녕하세요” * 3)

 

<문자 선택 연산자> : 인덱싱 []

: 문자열 내부의 특정 인덱스 위치의 문자 하나 선택 반환

: []대괄호 안에 선택할 문자의 위치 인덱스 지정

 

ex) “문자열”[i] print (“안녕하세요”[3]) = 앞에서부터 3위치의 출력

ex) “문자열”[-i] print (“안녕하세요” [-1]) = 뒤에서부터 1위치의 출력

 

<문자열 범위 선택 연산자> 슬라이싱 [ : ]

: 문자열 특정 범위 선택 연산자

ex) print ( “안녕하세요”[0:2] ) = ‘안녕출력

 

[ 시작 : 포함X ]

ex) [ 1 : 4 ] : 인덱스 1~3 범위

ex) [ : 4 ] ; 처음~ 3 범위

ex) [ 1 ; ] : 1 ~ 마지막 범위

 

< IndexError 예외 > : 인덱스 범위 넘는 대상 선택 시 예외 발생

 

 

 

[문자열 길이 구하기] : len() 함수

: 괄호 내부에 문자열 매개값의 문자열 길이 반환

 

 

 

 

 

 

 

02-2. 숫자

 

[숫자의 종류]

정수형(int)

실수형(float): 부동소수점

 

[숫자 연산자]

 

<사칙 연산자 > : +, - , /, *

 

<정수 나누기 연산자 > : //

: 나눗셈 결과의 소숫점 아래 뗀 정수값만 출력

 

<나머지 연산자 > : %

: 나눗셈 결과의 나머지만 출력

 

<제곱 연산자 > : **

: ex) 24제곱 = 2**4

 

 

[연산의 우선순위]

: 곱셈,나눗셈 > 덧셈,뺄셈

: 같은 우선순위 연산자 -> 왼쪽에서 오른쪽 순서로 연산

 

->> 먼저 연산하고 싶은 부분 () 괄호로 감싸기

 

<TypeError 예외> : 서로 다른 자료형을 연산할 경우 발생하는 오류

 

 

 

 

 

 

 

 

 

 

 

 

 

 

02-3. 변수와 입력

 

[변수 선언, 저장, 참조]

*파이썬은 따로 변수 자료형을 미리 지정하지 않는다. 따라서 같은 변수에 여러 자료형 저장가능

ex ) int a

 

<변수 선언과 할당>

pi = 3.14

r = 10

 

<변수 참조>

print (“원주율 = ” , pi)

print (‘원의 넓이 = “, pi *r*r)

 

[복합 대입 연산자]

숫자)

+=, -=, *=, /=, %=, **=

 

문자열)

+= : 문자열 연결 후 대입

*= : 문자열 반복 후 대입

 

 

[사용자 입력] : input() 함수

-사용자로부터 데이터 입력받는 함수

 

- input() 괄호 내부에는 프롬프트 문자열을 포함함

*프롬프트 문자열 : 입력 안내 내용

input() 함수 리턴값은 기본적으로 무조건 문자열

 

ex) input(“인사말 입력” )

- 인사말 입력 | <-여기서부터 입력 후 enter넣으면 입력 완료

 

[문자열을 숫자로 바꾸기]

 

<문자열을 int형으로 변환> : int() 함수

 

<문자열을 float형으로 변환> : float() 함수

 

<ValueError 예외> :자료형 변환 시, 변환할 수 없는 것 변환 시도할 경우 발생

숫자 아닌 문자열을 숫자로 변환 OR float 문자열을 int로 변환 시도 시

 

[숫자를 문자열로 바꾸기 ] : str() 함수 , format() 함수

 

str ( 숫자 ) => 문자열로 반환

 

 

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

 

[문자열의 format() 함수 ] : format() 함수

-중괄호{} 개수와 매개변수 개수 반드시 일치해야 함

-매개변수 값이 {}중괄호 내부로 대치되어 문자열로 처리됨

 

ex) “ 이것은 {} 만원 ” .format (5000) // “ 이것은 5000만원 출력

 

<IndexError 예외> : format() 함수 사용 시, 중괄호{} 개수와 매개변수 값 불일치할 경우 발생

 

 

[format() 함수의 다양한 기능]

 

<정수 출력의 다양한 형태> : 매개값을 int 자료형으로 강제 지정 출력 시 {:d} 사용

 

“{:d}”.format(52) //매개값 52int자료형으로 출력

“{:5d}”.format(52) //매개값 525칸 잡고, 5칸 내부의 끝부분에 출력

”{:05d}“.format(52) //매개값 525칸 잡고, 5칸 내부의 끝부분에 출력되고, 공백 0처리

“{:05d}”.format(-52) // -0052 로 출력됨

 

”{:+d}“.format(-52) //기호 붙여 int형으로 출력

”{: d}“.format(52) //기호부분 공백 처리

 

 

<부동 소수점 출력의 다양한 형태> : 매개값을 float형으로 강제 지정 출력 시 {:f} 사용

 

”{:f}“.format(52.234) //매개값을 실수형으로 출력

“{:15f}”.format(52.234) //15칸 안에 실수형으로 출력

“{:+15f}”.format(52.234) //15칸 안에 부호 추가한 실수형으로 출력

“{:+015f}”.format(52.234) //15칸 안에 부호 추가 후 공백 0처리

“{:15.2f}”.format(52.234) //15칸 안에 소숫점 아래 자릿수 지정 하여 실수형 출력

 

<의미없는 소숫점 0 제거> : 매개값 내부에 의미없는 0을 제거할 때 {:g} 사용

“{:g}”.format(52.0) // 의미없는 .0제거하여 출력

 

 

[대소문자 바꾸기] : upper()함수, lower() 함수

 

[문자열 공백 제거하기]

 

<문자열 양옆 공백 제거> : strip() 함수

 

<문자열 왼쪽 공백 제거> : lstrip() 함수

<문자열 오른쪽 공백 제거> : rstrip() 함수

 

[문자열 구성 파악] : is__함수

: 문자열 내부의 구성 파악 후 T or F 반환

 

<문자열 알파벳 or 숫자로만 구성 ? > : isalnum() 함수

<문자열 알파벳으로만 구성 ? > : isalpha() 함수

 

<문자열 식별자로 사용가능한 것 ? > : isdentifier() 함수

<문자열 정수 형태 ? > : indecimal() 함수

<문자열 숫자 인식 가능한 것 ? > : indigit() 함수

 

<문자열 공백으로만 구성 ? > : isspace() 함수

 

<문자열 소문자로만 구성 ? > ; islower() 함수

<문자열 대문자로만 구성 ? > : isupper() 함수

 

 

[특정 문자열 위치] : find()함수, rfind() 함수

: 문자열 내부에 특정 문자 시작 위치 인덱스 반환

 

<왼쪽부터 순회하며 첫 위치 반환> : find() 함수

ex) “안녕안녕하세요”.find(“안녕”) -> 0 반환

<오른쪽부터 순회하며 첫 위치 반환> : rfind() 함수

ex) “안녕안녕하세요”.rfind(“안녕”) -> 2 반환

 

[특정 문자열 포함 여부] : in 연산자

: 특정 문자열을 포함하고 있는지 여부 확인 시 사용

 

print(“안녕” in “안녕하세요”) -> T반환

 

[문자열 자르기] : split() 함수

: 문자열을 특정 문자 기준으로 자를 때 사용

: split() 함수 괄호 안의 매개값 문자열 기준으로 해당 문자열을 자름

ex) “10 20 30 40 50”.split(“ ”) -> 공백 기준으로 문자열 자름

728x90

'Python > [문법]_Python(파이썬)' 카테고리의 다른 글

ch05. 함수  (0) 2021.09.06
ch04. 반복문  (0) 2021.09.05
ch03. 조건문  (0) 2021.09.05
ch01. 파이썬 시작  (0) 2021.08.31