💻STUDY/PYTHON STUDY

2주차 수업 복습

coldNoodlePigeon 2021. 3. 10.

01. 수식 

 

#덧셈
20 + 3
#곱하기
2.4 * 12.1
#제곱
2**5

파이썬 언어를 수식 계산기처럼 사용하는 것이 가능하다! 

 

#정수 나눗셈
>>>13 // 4
3
#실수 나눗셈
>>>13 / 4
3.25
#나머지 연산 : 나머지 값을 출력한다! 
>>>13 % 4
1 

파이썬은 산술 연산으로 정수 및 실수에 대하여 가감승제, 나머지, 거듭제곱 등의 연산 가능. 

 

 

02. 문자열 

 

#가능한 문자열 표현 
"I love birds"
'I love birds'
#불가능한 문자열 표현 (큰따옴표와 작은따옴표의 혼용은 안돼!) 
"I love birds' 
SyntaxError: EOL while scanning string literal

 

그러면 중간에 ' ' 를 써야하는 문자열을 표현할 때에는 어떻게 해야할까? "What's your name" 으로 큰따옴표로 사용하면 아무 문제가 없지만 굳이 ' ' 안에 ''를 넣고 싶을때에는 이렇게 하자. 

 

'What\'s your name'
#백 슬래시 (Backslash)를 이용하여 구분하면 백슬래시 다음에 오는 문자는 특별한 의미를 부여하지 않고 문자로 간주

문자열에 대해 사용할 수 있는 연산은 접합(+)반복(*) 이 존재한다. 

 

#문자열 + 문자열
>>>"Hi" + "How are you?"
Hi How are you? 
#문자열 * 수식
>>>"Wow~" * 2
Wow~ Wow~

 

03. 리스트 

 

기본적인 자료형. 리스트 내 값의 제한이 없으므로 숫자와 문자열을 섞어서 사용이 가능하다. 

['apple', 'strawberry' , 7 ]
[ 1 , 2 , 3 ]  

문자열처럼 리스트에도 접합(+)곱하기(*) 연산이 가능하다.

 

#접합
>>>['apple','strawberry',3 ] + [ 'raspberry' ] 
['apple','strawberry', 3 ,'raspberry' ]
#반복
>>>['apple','strawberry',3 ] * 2 
['apple','strawberry', 3 ,'apple','strawberry', 3 ]

 

04. print문 

 

# , 로 구분하면 출력시 빈칸이 생겨요 
>>>print(1,2,3)
1 2 3 
>>>print([1,2,3])
[1,2,3]

문자열을 출력하는데 필요한 특수문자가 존재한다. 

 

#새줄문자(newline) \n
>>>print("나는 \n 너무나 \n 치킨이 \n 먹고싶다")
나는
너무나
치킨이
먹고싶다

#탭 문자 \t : 탭 키를 나타내는 특수문자. 사용시 보통 8칸씩 오른쪽으로 움직인다
>>>print("나는 \t 치킨이 너\t무 먹고 싶다")
나는        치킨이 너        무 먹고 싶다

 

여러 줄에 걸친 문자열을 간단하게 만들수도 있다! 

 

'''그만큼
신나시는거지'''

>>>print('''그만큼
신나시는거지''')
그만큼
신나시는거지

"""그만큼
신나시는거지"""

>>>print("""그만큼
신나시는거지""")
그만큼
신나시는거지

05. 변수 (Variable)

 

변수는 정수, 실수, 문자열, 리스트 등의 값을 저장하기 위한 장소이다. 파이썬에서 변수는 자료형 (data type)을 선언할 필요가 없으며 어떤 타입의 값이든지 저장할 수 있다. (단, C언어의 경우는 자료형을 먼저 선언해야한다.)

 

 

변수에 값을 저장할 때는 일반적으로 대입문 (assignment statement)을 사용한다. 

 

변수 = 수식 의 형태로, 무조건 왼쪽은 변수가 와야하고 오른쪽에는 수식이 와야함을 잊지말자. 물론, 왼쪽에 변수가 여러개 올수 없다. 무조건 한개!! 

대입문을 사용하여 변수에 값을 저장. 변수에 처음으로 값을 대입할 때 그 변수는 자동으로 생성된다. 

 

>>>score = 80 
>>>print(score)
80 
>>>score = 90
>>>print(score)
90
>>>score= score+ 10
>>>print(score)
100 

 

그럼 이제 변수의 이름을 짓는거 어떻게 해야할까? 변수의 이름은 무조건 처음에는 문자로 시작하여야한다. 알파벳 문자 사용가능, 특수기호는 _을 제외하고 사용이 불가능하다. (물론 한글로도 가능하다)

 

sum, score1, _count, _count1 등은 가능하지만, 

 

 

1score, #count 는 불가능하다! 

 

#변수끼리 합하는 것도 가능. 
>>>score1 = 50
>>>score2 = 30 
>>>print(score1 + score2)
80 

input 함수! 

input 함수는 사용자가 입력한 한 줄의 문자열을 읽어서 준다. 

 

#예시 1번 
>>>name = input ("이름입력:")
이름 입력: 홍길동
>>>print(name) 
홍길동 

#예시 2번
>>>name = input()
홍길동
>>>print(name)
홍길동  

 

 

06. 변수와 자료형 

 

파이썬에서 변수는 따로 자료형을 선언할 필요가 없고 어떤 타입의 값이든지 대입하여 저장이 가능하다. 

이것을 우리는 동적 자료형 이라고 부른다. 

 

지금까지 변수를 저장하는 기억장소라고 했었는데, 실제로는 변수는 값을 직접 저장하는 것이 아니라 어떠한 값 (혹은 객체)를 직접 가리키는 역할을 한다고 한다.  

 

 

07. 변수와 리스트 사용 

 

변수에는 값뿐만 아니라 여러 개로 이루어진 리스트 또한 저장할 수 있다. 또한 인덱스를 이용하여 리스트 내에 있는 특정 값을 지정하여 사용하는 것도 가능하다. 

 

기억하자 리스트의 인덱스는 0부터 시작한다! 

 

>>>list = [12, 14, 10, 20, 50] 
>>>print(list)
[12,14,10,20,50]
>>>print(list[0])
12 
>>>print(list[2])
10 

 

콜론(:)을 사용하여 인덱스의 범위를 지정하여 여러 개의 값들을 나타내는 것도 가능하다. 

 

>>>animals = [ 'dog', 'cat', 'bird', 'parrot', 'huron']
>>>print(animals[1:3])
['bird','parrot','huron']
>>>print(animals[2:])
['parrot','huron']

 

append 함수를 이용하여 새로운 원소를 추가하는 것도 가능하다. 

>>>animals = [ 'dog', 'cat', 'bird', 'parrot', 'huron']
>>>animals.append('sheep')
>>>print(animals)
[ 'dog', 'cat', 'bird', 'parrot', 'huron' , 'sheep']

 

del 함수를 이용하여 특정 원소를 삭제할 수 있다. 

 

>>>animals = [ 'dog', 'cat', 'bird', 'parrot', 'huron']
>>>del animals[3]
>>>print(animals)
 [ 'dog', 'cat', 'bird', 'huron']

 

08. 자료형과 형변환 

 

자료형이란? 데이터 타입 (data type)이라고도 부르는데, 데이터의 종류 혹은 분류라고 한다. 값이 어떤 자료형인지는

type함수를 이용해 확인할 수 있다. 

 

int 는 정수형

float는 부동소수점 자료형

str은 문자열

list 는 리스트를 나타내는 타입 이름이다. 

 

>>>type(10)
<class 'int'>
>>>type(3.14)
<class 'float'>
>>>type('hello')
<class 'str'>
>>>type([1,2,3])
<class 'list'>

 

필요에 따라 자료형 변환이 가능한데, 이는 형변환 함수 (type casting)을 이용하여 변환이 가능하다. 

 

str()은 정수 or 실수를 문자열로 변환

int()는 정수 문자열 or 실수를 정수로 변환

float()는 수 문자열 or 정수를 실수로 변환 

 

 

#문자열->정수 
>>>int("80")
88

#실수->정수
>>>int(3.14)
3

#문자열->실수
>>>float("3.14")
3.14

#실수->문자열
str(3.14)
'3.14' 

#변형 예시
>>> 3 + float("3.14")
6.14 

 

 

주의! 

 

>>> sum = 0
>>> score = int(input())
80
>>> sum = score + sum
>>> score = int(input())
50
>>> sum= sum + score
>>> print(sum)
130

input 함수는 문자열로 읽어서 주기 때문에 입력된 문자를 정수 혹은 실수로 사용하고 싶을때에는 형변환을 시켜줘야 한다. 

 

 

다음은 예시들이다. 

 

#예시 1: 마일 킬로미터 변환 
>>> mile = float(input())
61.5
>>> kilo = 1.6 * mile
>>> print(kilo)
98.4
#예시2: 은행 계좌 입금 
# name : 계좌 소유자의 이름을 저장하기 위한 변수 
# balance: 현재 잔액을 저장하기 위한 변수
# amount: 입금액을 저장하기 위한 변수
>>> balance = 0
>>> name = input("계좌 소유자 이름:")
계좌 소유자 이름:홍길동
>>> amount = int(input("입금액:"))
입금액:20000
>>> balance = amount + balance
>>> print(name, "님의 현재 잔액은" ,balance,"원입니다")
홍길동 님의 현재 잔액은 20000 원입니다
#예시3: 화씨 섭씨 온도 변환 
>>> fahr = float(input("화씨 온도:"))
화씨 온도:200
>>> celsius = (fahr - 32)* 5/9
>>> print("섭씨 온도는",celsius)
섭씨 온도는 93.33333333333333
#예시4: 시분초 계산 
>>> sec = int(input("초 단위 시간을 입력:"))
초 단위 시간을 입력:54000
>>> minute = sec //60
>>> second = sec %60
>>> hour = minute//60
>>> minute = minute%60
>>> print(sec,"초는",hour,"시간",minute, "분",second,"초입니다")
54000 초는 15 시간 0 분 0 초입니다

09. 파이썬의 내장 함수 

 

max(val1, val2,val3) : 변수 val1, val2, val3 중 가장 큰 수를 계산하여 그 결과값을 되돌리는 역할. 

min(arg1, arg2, arg3) :변수 arg1 arg2 arg3 중 가장 작은 수 계산하여 그 결과값을 되돌리는 역할.

abs(x): 절댓값 반환

bin(x):이진문자열로 변경하여 반환

int(s,base): 문자열 s를 정수로 변환하여 반환. base는 옵션으로 기수를 나타냄. 

len(x): 순서열의 길이 구함

pow(x,y): x의 y승 구함

range(stop), range(start,stop,step): 주어진 범위의 값으로 리스트를 생성하여 반환.

round(number,ndigit):숫자 number을 반올리하여 반환. ndigit은 옵션으로 소수점 이하 몇자리까지 남길지 지정.

sorted(iterable,key,reverse):순서열을 정렬한 사본을 생성.

sum(iterable,start):순서열 원소의 합을 구하여 반환. 

 

 

math 모듈 

 

import math
>>> math.pi
3.141592653589793
>>> math.acos(1)
0.0
>>> math.asin(1)
1.5707963267948966
>>> math.atan(1)
0.7853981633974483
>>> math.ceil(34.5738974)
35
>>> math.cos(120)
0.8141809705265618
>>> math.sin(90)
0.8939966636005579
>>> math.degrees(120)
6875.493541569878
>>> math.e
2.718281828459045
>>> math.exp(2)
7.38905609893065
>>> math.fabs(-2)
2.0
>>> math.factorial(5)
120
>>> math.floor(32.33)
32
>>> math.log(10)
2.302585092994046
>>> math.log(10,10)
1.0
>>> math.pow(2,3)
8.0
>>> math.radians(120)
2.0943951023931953
>>> math.sqrt(4)
2.0

h ㅏ..끝났다. 이제 과제만 남았음 

'💻STUDY > PYTHON STUDY' 카테고리의 다른 글

6주차 수업 복습  (0) 2021.04.07
5주차 수업 복습  (0) 2021.03.31
4주차 수업 복습  (0) 2021.03.23
3주차 수업 복습  (0) 2021.03.17
1주차 수업 복습  (2) 2021.03.05

댓글