티스토리 뷰

Python/기본문법

print, 변수

샤인온미 2018. 2. 21. 13:50


180220 파이썬 이론


1. 변수

1. 변수란?

- 수, 텍스트, 리스트, 이미지 데이터 등을 담을 수 있음
- 대, 소문자를 구분
- 숫자로 시작 할 수 없음
- 예약어는 변수명으로 쓸 수 없음 ex) True, False, None, return 등등등


2. 변수선언

- R 과는 다르게 (R 은 a <- c(~~~~) 형식) = 기호를 써서 선언
- ex) Var_2 = 1, a = 3


3. 변수의 형식 확인

- type(변수) 로 확인 가능

- IDLE 창에서 (Python shell) 에서 type  함수로 실습

a = 3
type(a)
# class 'int'

f = -3
 type(f)
# class 'int'

d = -5.4
type(d)
# class 'float'\\
# float 는 부동 소수형이라고 정의되며 8바이트만을 이용해서 수를 표현함. 즉, 한정된 범위의 수만 표현 할 수 있음
# 파이썬 자체에서 실수를 지원하기 위해 제공하는 class

   

2. 수 다루기

1. 파이썬에서 제공하는 사칙 연산자

- 나눗셈의 몫 구하기 : //
- 나눗셈의 나머지 구하기 : %
- 그냥 나누기 : /


2. math 라는 모듈을 이용한 계산

- 모듈은 R 로 따지면 library 와 비슷한 것

- import 문을 이용해서 불러온다

import math

- 파이썬 코드에서 "." 은 "~의" 라는 뜻으로 해석

ex) math.pi => math(모듈)의 
- math 모듈에서만 사용 할 수 있는 함수와 그렇지 않은 함수가 있음

 함수

설명

비고 

abs() 

절대값 계산 함수 

내장 함수 (import 필요X)

round()

반올림 계산 함수 

내장 함수 (import 필요X) 

trunc()

버림 계산 함수 

math 모듈 (import 필요O)

sqrt()

제곱근 계산 

 math 모듈 (import 필요O)


- 실습 trunc 함수
import math
math.trunc(1.4)
# 1
math.sqrt(25)
# 5.0

trunc(4.5)
# Traceback (most recent call last):
#   File "", line 1, in 
#     trunc(4.5)
# NameError: name 'trunc' is not defined

# 위와 같이 math 를 앞에 붙이지 않으면 정의되지 않은 함수라고 에러 발생
# sqrt 또한 마찬가지

3. 텍스트 다루기
- 텍스트를 다루는 자료형으로 string 이 있음
- 문자열 데이터는 " " 또는 ' ' 를 이용해서 표현
- 여러줄로 이루어진 문자는 ' ' ' 혹은 " " " 을 이용해서 표현

1. 문자열 슬라이싱
- [ & ] 연산자를 통해 슬라이싱
- 처음 글자의 위치가 1이 아닌 0으로 부터 시작함을 알아야 한다
- ex) Good Morning 이라는것이 있을 때 이것의 길이는 12
G o o d  M o r n  i   n   g
1 2 3 4 5 6 7 8 9 10 11 12  => 문자열의 길이는 12
0 1 2 3 4 5 6 7 8  9  10 11 => 인덱싱한 위치는 1을 한개씩 빼야함
s = 'Good Morning'
s[0:6]
# 'Good M'
# => 6 의 위치인 'o' 바로 앞까지인 M 까지 출력됨을 알 수 있다.

2. in 연산자
- 원하는 부분이 문자열, 리스트 등등 안에 있는지 확인하고 싶을 때

3. format 함수
- 형식을 갖춘 문자열을 만들 때 사용
- 문자열 안에 중괄호 {} 를 넣어서 다른 곳에서 불러 올 변수가 들어갈 자리를 미리 만들어줌
- 이후 format 함수를 호출 할 때 데이터를 순서대로 넣어주면 그 순서대로 문자열안에 변수가 들어감
- 함수앞에 . 를 필수로 붙여야 한다
a = 1
b = 2
result = a + b
print("{0}+{1} = {2}".format(a,b,result))
# 1+2 = 3

4. input 함수
- 사용자로부터 명령을 받아 입력을 기다리는 함수
- input 함수의 결과는 '문자열' 즉, 숫자를 선언한다 해도 일반적인 + 계산이 되지 않음
a = input()
2
b = input()
3
a+b
# '23'
# => 5가 아닌 문자 2와 문자 3을 그대로 붙여버린 23 이 나옴

- 해결방법은 int 를 이용해서 처음부터 숫자형식으로 바꿔버리는 것
a = int(input())
2
b = int(input())
3
a+b
# 5

5. str 함수
- 숫자를 문자열로 바꾸기 위해 사용
- input 함수의 결과는 '문자열' 즉, 숫자를 선언한다 해도 일반적인 + 계산이 되지 않음
import math
type(math.pi)
# class 'float'

text = "원주율은" + math.pi + "입니다"
text
#Traceback (most recent call last):
  # File "", line 1, in 
    # text = "원주율은" + math.pi + "입니다"
# TypeError: must be str, not float

text = "원주율은" + str(math.pi) + "입니다"
text
# '원주율은3.141592653589793입니다'

6. print 함수
- print("%d", %100) => 결과값은 숫자 형식의 100
print("100") => 결과값은 문자 형식의 100 (일 일 영)
print 함수에서 이용할 수 있는 서식들

 서식

값의 예 

설명 

 %d,%x,%o

10, 8B30, 1142

10진수, 16진수, 8진수

 %f

(공백)0.5, 1.4 

실수

 %c

"b", "한" 

한 글자 

 %s

"안녕", "abcdefg", "a"

두 글자 이상 문자열 


1. %d 예시

print("%d" % 123) # 평범하게
# 123
print("%5d" % 123) # 5자리의 정수가 만들어지며 앞 부분은 공백으로 땜빵
#   123
print("%05d" % 123) # 5자리의 정수가 만들어지며 앞 부분은 0 으로 땜빵
# 00123

2. %f 예시

print("%f" % 123.45) # 10자리수의 실수가 만들어짐
123.450000
print("%7.1f" % 123.45) # 7자리수의 실수 (앞은 공백) & 소숫점 뒤가 1자리인 실수가 만들어짐
123.5
print("%07.1f" % 123.45) # 7자리수의 실수 (앞은 0) & 소숫점 뒤가 1자리인 실수가 만들어짐
00123.5

3. %s 예시

print("%s" % "python")
python
print("%7s" % "python")
 python
print("%07s" % "python") # 문자는 앞 부분이 0으로 채워지지 않음
 python

4. print 함수와 format 함수의 응용

- {} 를 이용해 위치와 %d 형식을 동시에 지정

print("{2:d},{1:05d},{0:5d}".format(123,123,154))
154,00123,  123                    # {위치 : 형식} 을 이용해서 print 함수를 이용한 출력을 다르게 함

5. 이스케이프 문자


 이스케이프 문자

역할 

설명 

\n

 새로운줄로 이동 (한칸을 아예 공백으로)

Enter 키와 비슷하나 한칸을 더 띈다 

\t

 다음 탭으로 이동

tab 누른 효과 

\b

 뒤로 한 칸 이동 

back space 누른  

\\

 \ 를 출력

 

\'

 ' 를 출력 

 

\*

 * 를 출력 

 


- 기본적으로 \ + (어떤 특수문자) 를 하면 그 특수문자를 출력하므로 아래 3개는 크게 의미 없음

- \n 의 예제



- ㅇㅅㅇ


180220 파이썬 이론 


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
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
글 보관함