[Python] 02. 파이썬 기본 도구 익히기

누디·2022년 2월 1일
0

Python

목록 보기
1/1
post-thumbnail

2.1 변수와 자료형

1 변수

  • 파이썬의 변수는 일반적인 변수와 다소 차이가 있다.
  • 변수에 저장될 값이 먼저 메모리에 객체 형태로 저장된 이후, 객체의 주소가 변수에 저장된다.
  • 즉 실제값이 저장되지 않고, 실제값이 저장된 주소를 기억하는 참조형 변수가 된다.
  • 이러한 참조형 변수는 객체의 자료형에 의해서 변수의 자료형이 결정되기 때문에 별도의 자료형을 선언하지 않는다

2 자료형

  • 파이썬은 변수 선언 시 별도의 자료형을 선언하지 않는다. 객체의 자료형에 의해서 변수의 자료형이 결정된다.
    -숫자형 : 정수, 실수
    -문자형 : 문자, 문자열
    -논리형 : 참, 거짓

1) 자료형 확인

  • type() 함수는 변수의 자료형을 확인할 때 이용하는 내장함수

⌨️ 입력

var1 = 'Hello python'
print(var1)
print(type(var1))

💻 출력

Hello python
<class 'str'>

2) 자료형 변환

  • 변수가 참조하는 객체의 자료형을( a = 10.5 에서 오른쪽) 다른 자료형으로 변환하는 방법에 대해서 알아본다.

⌨️ 입력

# 실수 -> 정수
a = int(10.5)
b = int(20.42)
add = a + b
print('add =', add)

# 정수 -> 실수
a = float(10)
b = float(20)
add2 = a + b
print('add2 =', add2)

# 논리형 -> 정수
print(int(True)) #1
print(int(False)) #0

# 문자형 -> 정수
st = '10'
print(int(st) ** 2) #제곱연선

💻 출력

add = 30

add2 = 30.0

1
0

100

2.2 연산자(Operator)

1 산술 연산자

  • 산술연산자 : +, -, *, /, %, //(몫 반환), **(지수 승)

2 관계 연산자

  • 관계연산자 : ==, !=, >, >=, <, <=

3 논리 연산자

  • 논리연산자 : and, or, not

4 대입 연산자

  • 대입연산자 : =, (a,b)

2.3 표준입출력장치

1 표준입력장치

  • 표준입력장치로 대표되는 키보드로 부터 임의의 값을 입력받아서 프로그래밍을 작성할 수 있다.
  • 키보드로 입력받는 input() 함수의 형식은 다음과 같다
	input(prompt)

2 표준출력장치

  • 표준출력장치로 대표되는 모니터는 통합개발도구에서 콘솔로 불려진다.
  • 콘솔로 결과를 출력하는 print()함수의 형식은 다음과 같다
	print(values, sep, end, file, flush)

1) value인수

-print 함수에서 값(value) 속성은 콤마(,)에 의해서 구분된다.

2) sep인수

-sep인수는 임의의 특수문자로 값들을 구분하는 역할을 한다

⌨️ 입력
print("010","1234","5678",sep = "-")
💻 출력
010-1234-5678

3) end인수

-print는 기본적으로 값을 출력한 후 줄바꿈을 수행한다. end = "구분자" 형식으로 인수를 사용하면 \n 대신 사용하는 구분자로 대체 됨.

⌨️ 입력
print("value =", 10, end = ", ")
print("value =", 20)
💻 출력
value = 10, value = 20

3 format과 양식문자

  • format() 함수는 주어진 값(value)을 지정한 형식으로 변환해주는 함수
	format(value, "format")
⌨️ 입력
print(' 원주율 =', format(3.141592, "8.3f") #전체 8자리, 소수점 아래 3자리까지
print(' 금액 =', format(10000, "10d") #전체 10자리의 정수
print(' 금액 =', format(125000, "3,d") #3자리마다 ,를 찍는다
💻 출력
원주율 =    3.142
금액 =      100000 #앞에 5자리 공백 있음
금액 = 125,000
  • 양식문자는 print() 함수 안에서 일정한 양식을 제공하는 양식문자를 이용하여 정수, 실수, 문자열 등을 출력

    	print("%양식문자" %(값) )

⌨️ 입력

name = "홍길동"
age = 35
price = 125.456
print("이름 : %s, 나이 : %d, data = %.2f" %(name, age, price))

💻 출력

이름 : 홍길동, 나이 : 35, data = 125.46

4 외부상수 출력

print("{}".format(값))
  • 함수 안에서 {} 기호를 이용해서 외부 값을 순서대로 받아서 출력한다.

  • {n} 형식으로 기호 안에 순번을 입력하여 외부 값을 순서대로 받을 수 있고, 같은 순서를 여러 번 쓸 수 있다.

    ⌨️ 입력

print('이름 : {}, 나이 : {}, data = {}'.format(name, age, price) )
   💻 출력
이름 : 홍길동, 나이 : 35, data = 125.46

2.4 문자열

  • 문자열은 문자들의 집합으로 ' , ", """ or ''' 을 사용하여 문자를 감싼 형태로 표현

1 문자열 특징

-색인을 이용하면 문자열을 구성하는 특정 문자를 참조할 수 있다
-여기서 참조할 수 있다는 건 특정 문자를 추출하거나 부분 문자열 객체를 만들 수도 있다는 의미
-왼쪽 기준으로는 0으로 시작하고, 오른쪽 기준으로는 -1로 시작함

⌨️ 입력

#문자열 연산
print("python" + "program") #결합연산자
#print("python" + 3.7 + ".exe") # error
print("python-" + str(3.7) + ".exe")
print("-"*30) #반복연산자

💻 출력

python program

python-3.7.exe

-3.7을 문자열로 감싸줘야 문자열끼리의 결합 연산이 가능함

2 슬라이싱(slicing)

  • 색인의 범위를 이용하여 특정 문자열을 대상으로 부분 문자열을 생성하는 기법
	문자열 [시작색인 : 끝색인 : 증감값]

⌨️ 입력

#왼쪽 기준
print(oneLine)
print("문자열 길이 :", len(oneLine))
print(oneLine[0 : 4]
print(oneLine[ : 4]
print(oneLine[ : ]
print(oneLine[ : : 2] #처음부터 끝까지 2씩 증가

#오른쪽 기준
print(oneLine[0 : -1 : 2]
print(oneLine[-6 : -1]
print(oneLine[-6 :]

#부분 문자열 생성
subString = oneLine[-11 :]
print(subString)

💻 출력

this is one line string
문자열 길이 : 23
this
this
this is one line string
ti soeln tig

ti soeln ti
strin
string


line string

3 문자열 처리 함수

  • 문자열을 수정하거나 조작하는 함수
  • 다음과 같은 형식으로 해당 함수들을 호출
문자열객체.함수([인수])
s.lower() 문자열 s를 모두 소문자로 변경한다
s.upper() 문자열 s를 모두 대문자로 변경한다
s.swapcase() 문자열 s의 대문자는 소문자로, 소문자는 대문자로 변경한다
s.lstrip() 문자열 s의 왼쪽 공백을 모두 지운다 
s.rstrip() 문자열 s의 오른쪽 공백을 모두 지운다
s.strip() 문자열 s의 양쪽 공백을 모두 지운다
s.count(x) 문자열 s에서 문자 x가 몇개인지 반환해주는 함수
s.find(x) 문자열 s에서 문자 x가 처음으로 나온 위치를 왼쪽 부터 찾는 함수
s.rfind(x) 문자열 s에서 문자 x가 처음으로 나온 위치를 오른쪽 끝에서 부터 찾는 함수
s.index(x) 문자열 s에서 문자 x가 처음으로 나온 위치를 반환(없으면 에러)
'구분자'.join(s) 문자열 s를 구성하는 요소 문자를 '구분자'로 결합
s.replace(x, r) 문자열 s를 대상으로 x라는 문자를 r이라는 문자로 교체
s.split('구분자') 문자열 s에서 '구분자'를 기준으로 문자열을 분리시킨다
s.startswith('H') H라는 문자로 시작되는지 여부를 True 또는 False로 반환

4 이스케이프 문자

제2장 연습문제

1 다음 조건에 맞게 수량과 단가 변수를 만들어서 금액을 출력하시오

⌨️ 입력

su = 5
dan = 800

print(id(su))
print(id(dan))

print('금액 =', dan*su)

💻 출력

4296229232
4297298992
금액 = 4000

2 다음과 같은 2차 방정식을 파이썬 수식으로 코딩하고, y의 결과를 확인하시오

⌨️ 입력

x = 2
y = 2.5*x**2 + 3.3*x + 6

print('2차 방정식 결과 =', y)

💻 출력

2차 방정식 결과 = 22.6

3 지방, 탄수화물, 단백질 칼로리의 합계를 계산하는 프로그램을 작성하시오

⌨️ 입력

fat = int(input('지방의 그램을 입력하세요 :'))
carbo = int(input('탄수화물의 그램을 입력하세요 :'))
prot = int(input('단백질의 그램을 입력하세요 :'))

tot = fat*9 + carbo*4 + prot*4

print('총 칼로리 :', format(tot,"3,d"),'cal')

💻 출력

지방의 그램을 입력하세요 :25
탄수화물의 그램을 입력하세요 :520
단백질의 그램을 입력하세요 :45
총 칼로리 : 2,485 cal

4 3개의 단어를 키보드로 입력 받아서 각 단어의 첫글자를 추출하여 단어의 약자를 출력하시오

⌨️ 입력

word1 = input('첫번째 단어 :')
word2 = input('두번째 단어 :')
word3 = input('세번째 단어 :')

print("="*20)

abbr = word1[:1]+word2[:1]+word3[:1]
print(abbr)

💻 출력

첫번째 단어 :Korea
두번째 단어 :Baseball
세번째 단어 :Orag
====================
KBO

0개의 댓글