파이썬의 특징과 연산자, 배열의 종류와 라이브러리에 관해

파이썬의 특징

중학생 때 취미로 C와 C++, 초등학생 때 VISUALBASIC6를 공부했던 적이 있었는데(기본만) 지금에서 파이썬을 공부하며 정말 초보자가 익히기에 좋은 언어라는 생각이 들었다. 일단 매우 기초를 공부하며 자료형의 크기나, 형태를 지정해주지 않아도 입력한 값에 따라 자동으로 자료형이 정해지는 것 같았고(자료형을 개발자가 정해주는 것이 자신이 작성하려는 프로그램에 알맞을 수도 있겠지만 편리하다는 점), 문법이 너무 쉬웠다. 또 다용도로 쓰이는 언어라니 정말 마음에 든다.

이 포스팅은 나도 코딩 파이썬 코딩 무료 강의(기본편) 6시간을 참고로 작성하였으며 포스팅에 부족하다 느끼는 점은 구글링과 점프 투 파이썬을 참고하며 제 생각에 맞춰서 작성하였습니다.

이 포스팅에 어려운 단어가 보인다면 [CS]컴퓨터 내부의 언어체계와 표현방법 를 참고하자.

연산자

연산자들로 기본적인 계산을 수행할 수 있다. 사칙연산 규칙을 따르기 때문에 괄호로 묶어주어 연산에 우선순위를 둘 수 있다.

사칙연산 연산자 +, -, *, /

기본적인 사칙연산의 연산자이다. +, -, *, / 순서대로 더하기, 빼기, 곱하기, 나누기 이며 사용방법은 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
num1=2
num2=3.4

print("더하기 : ")
print(num1+num2)

print("빼기 : ")
print(num1-num2)

print("곱하기 : ")
print(num1*num2)

print("나누기 : ")
print(num1/num2)

결과:
더하기 : 
5.4
빼기 :
-1.4
곱하기 :
6.8
나누기 :
0.5882352941176471

지수 연산자 **

지수, 즉 ^n의 값(2의 3승, 4의 9승… 그런 것들)을 말한다. 왼쪽 값이 밑, 오른쪽 값이 지수다

1
2
3
4
5
6
print(2**3)
print(4**9)

결과:
8 #2의 3승
262144 #4의 9승

나머지 연산자 %

나머지를 구하는 % 연산자이다. 나눗셈의 몫을 구하는 연산자 //도 있으며, 8을 3으로 나누면 나머지가 2가 된다.

1
2
3
4
print(8 % 3)

결과:
2

몫 연산자 //

나머지 연산자 %와 짝꿍인 ‘몫’을 구하는 연산자이다. 8을 3으로 나누면 몫은 2가 된다.

1
2
3
4
print(8 // 3)

결과:
2

조건연산자

비교연산자 >, <, >=, <=, ==, !=

>, <, >=, <=, ==, != 등은 비교연산자라고 부르며, 불리언 대수(True, False)와 짝꿍인 존재들이다. 값으로 조건이 맞을 경우 True를, 조건이 틀릴 경우 False를 반환한다.

  • > 연산자 왼쪽의 값이 오른쪽 값보다 큰가?

print(2>3) 결과: False

  • < 연산자 왼쪽의 값이 오른쪽 값보다 작은가?

print(2<3) 결과: True

  • >= 연산자 왼쪽의 값이 오른쪽 값보다 크거나 같은가?
1
2
3
4
5
6
print(3>3)
print(3>=3)

결과:
False #3>3의 값 반환
True #3>=3의 값 반환
  • <= 연산자 왼쪽의 값이 오른쪽 값보다 작거나 같은가?
1
2
3
4
5
6
print(2<3)
print(3<=3)

결과:
True #2<3의 값 반환
True #3<=3의 값 반환
  • == 연산자 왼쪽의 값은 오른쪽 값과 같은가? 추가로, 프로그래밍에서의 같은가?는 대부분 ==라고 생각하면 된다. =는 왼쪽의 값을 오른쪽에 대입한다는 뜻으로 생각하면 쉽다
1
2
3
4
print(2==3)
결과:
False
#2와 3은 다르니까 False
  • != 연산자 왼쪽의 값은 오른쪽 값과 다른가?
1
2
3
print(2!=3)
결과: True
#2와 3은 틀리니까 True

and, or, not

  • and, & and는 논리 연산자(True, False)이고 &은 비교 연산자(bitwise 연산)이다.

두 개의 값이 True일 때 True를 반환한다.

C에서는 &&   처럼 같이 사용했던 것 같은데 초반에 아무 생각없이 넘겼다가 예제 코드를 짜다가 연산이 안돼서 발견했다.
1
2
3
4
5
print(3==3 and 2==3)

결과:
False
#3==3은 True지만 2==3이 False라 False가 나옴.
  • or, | or은 논리 연산자(True, False)이고 |은 비교 연산자(bitwise 연산)이다.

두 개의 값중에 하나 이상 True일 경우 True를 반환한다.

1
2
3
4
5
print(3==3 or 2==3)

결과:
True
#3==3 True고 2==3은 False지만 둘 중에 하나만 참이어도 상관이 없기 때문에 True가 나옴.
  • not, ~ not은 논리 연산자(True, False)이고 ~은 비교 연산자(bitwise 연산)이다.

not은 반대의 값을 출력한다. 2==3이라고 할 때 False지만 not(2==3)은 True가 나온다.

~의 경우 비트의 보수를 표현한다. 예를 들어 7은 2진수로 0111이고, 0111의 보수는 1000 임으로 ~7의 값은 -8이 나온다.

1
2
3
print(not(2==3))
#2는 3과 같은가 -> X -> FALSE
#not연산자로 FALSE가 TRUE로 반대됨.



자료형

자료형이란 말 그대로 ‘자료의 형태’라는 뜻이다. 자료형은 숫자, 문자열, boolean 등이 있으며 다음과 같다.

숫자 자료형

숫자형이란 말 그대로 숫자number의 형태를 가진 자료라는 뜻이다. 1, 2, 3 등의 정수, 1.2, 99.221 같은 실수 등을 모두 포괄하는 뜻이다.

1
2
3
4
5
6
7
8
9
num1 = 2 #정수형
num2 = 3.4 #실수형

#print : 값을 출력하는 함수이다.
#type : ()안의 값의 자료형을 알려준다.
print(type(num1), type(num2))

결과:
<class 'int'> <class 'float'>

결과로 class int 와 class float가 나왔다. int는 integer의 약어로 4byte의 크기를 가진 정수 자료형이고, float는 8byte의 크기인 실수형이다.

파이썬에서 정수형은 int(4 byte)와 long(무제한)이 있고 실수형에는 float(8 byte) 단 한 가지가 있다.

문자열 자료형

문자열String이란 문자, 단어 등으로 구성된 문자들의 집합을 의미한다.

1
2
3
"Hello world"
'A'
"123"

등이 있으며, “123”은 왜 숫자가 아니고 문자열인가요? 라고 했을 때 123은 숫자지만 “123”은 문자열이다. 이후에 연산을 수행했을 때 123의 연산은 제대로 나오지만 “123”의 연산은 원하는 값(숫자끼리의 연산)이 나오지 않을 것이다. 큰 따옴표(““)로 묶여있으면 문자열이라고 보면 된다.

문자열 표현 방법

문자열은 파이썬에서 어떻게 정의하고 표현해야할까? 문자열을 사용하는 방법은 다음과 같다.

  • 큰 따옴표(“”) “Hi”
  • 작은 따옴표(‘’) ‘Hi’
  • 큰 따옴표 세 개(“””) “"”Hi”””
  • 작은 따옴표 세 개(‘’’) ‘'’Hi’’’

C언어를 공부할 때에는 작은 따옴표는 문자열이 아닌 ‘문자’를 표현하는 약속이었는데 파이썬은 둘 다 문자열로 허용해서 놀랐다.

문자열의 기본과 포맷

  • \n 줄바꿈 개행을 의미한다.

  • \ 탈출문자

1
2
3
print("\"")
결과:
"

탈출문자란 의미가 있는 문자 (+), (“), (‘) 등의 문자를 표현하고 싶을 때 사용한다. \를 앞에 써줌으로써 아무 의미 없는 ‘문자’로 바뀐다.

  • \r 포커스를 맨 앞으로
1
2
3
4
print("Red Apple\rPine")

결과:
PineApple

Red Apple이 적힌 이후 \r 로 맨 앞부분(R의 앞부분)에 포커스(커서)가 옮겨졌고 거기서부터 Pine을 출력해서 “Red “가 “Pine”으로 덮여씌여졌다.

  • \t 탭 말 그대로 탭(tab)을 의미한다.

  • 슬라이싱 문자열 안에 담긴 휴대전화번호의 가운데 4자리만 뽑을려면 어떻게 해야할까? 뒤를 자르고 앞을 자르고 대시(-)를 없애고.. 험난한 과정이 있을 수도 있지만 파이썬에서는 간단하게 슬라이싱이라는 방법으로 잘라낼 수 있다. 모든 수, 리스트, 배열… 등의 순서의 시작은 ‘0’ 부터 라는 것을 알아두자.

1
2
3
4
5
6
phonenum = "010-1234-5678"
print("가운데 번호 :", phonenum[4:8])
#변수의 뒤에 []를 사용했음을 주의하자.

결과:
1234

phonenum이라는 변수의 4번째 (010- 까지 0123, 3번째다)인 1부터 8번째인 4까지 뽑아내겠다는 의미이다. 뒤나 앞에 ‘ : ‘을 붙여주면 간단하게 범위를 지정할 수 있다.

  • 문자열[a] : a에 해당하는 순서의 문자열을 가져옴
  • 문자열[a:b] : a부터 b미만의 문자열을 가져옴
  • 문자열[a:] : a부터 끝까지의 문자열을 가져옴
  • 문자열[:a] : 처음부터 a까지의 문자열을 가져옴
  • 문자열[-a:] : 맨 뒤에서 a부터 끝까지의 열을 가져옴.

문자열 포맷 방법

문자열 포맷format 방법이란 문자열을 이쁘게 만들어주는 방법이라고 생각하면 편할 것 같다. 말 그대로 변수나 숫자, 문자열등을 사용할 때 좀 더 보기 쉽게, 편리하게 바꿔주는 방법이다.

문자열 포맷 방법 첫 번째

C언어에서도 쓰이던 방식이다.

  1. %d : 정수
  2. %s : 문자열
  3. %c : 문자(A, B, 1, 2 등 한 문자)

%d, %s, %c 등으로 표현해주고 뒤에 +나 , 대신 % 뒤에 알맞은 값을 써준다. 괄호()로 묶어 한 번에 표현하는 방법도 있다.

1
2
3
4
5
6
7
8
9
10
11
print("나는 %d 살입니다." % 20.3) 
#%d는 정수, 값은 %뒤의 값으로 정해짐.
print("나는 %s을/를 좋아해요" % "파이썬") 
#%s는 문자열, 값은 %뒤의 문자열값으로 정해짐
print("Banana는 %c로 시작해요" % 'B') 
#%c는 Character를 의미함. 한 문자

#여러가지의 값을 넣을 경우
print("바나나는 %s 색이고, 한 묶음에 %d원 이에요." % ("노랑", 5000)) 
#% (  )괄호 안에 넣을 값들을 콤마(,)로 구분해서 넣어줌

문자열 포맷 방법 두 번째

내가 애용할 것 같은 방법인데, %d 나 %s 같은 방법대신 그냥 {}를 집어넣고 그 자리에 .format(값)을 집어넣어주면 끝이다.

1
2
3
print("나는 {}살 입니다.".format(20))
print("나는 {}을/를 좋아해요".format("파이썬"))
print("바나나는 {}색이고 한 묶음에 {}원이에요.".format("노랑", 5000))

문자열 포맷 방법 세 번째

{}안에 변수를 넣어주고 그 변수의 값을 할당해주는 방식이다.

1
2
3
print("나는 {age}살 입니다.".format(age=20))
print("나는 {like}을/를 좋아해요".format(like="파이썬"))
print("바나나는 {color}색이고 한 묶음에 {price}원이에요.".format(color="노랑", price=5000))

문자열 포맷 방법 네 번째(v 3.6 ↑)

print의 뒤에 f를 넣어주어 전역변수를 사용할 수 있게 해준다. 3.6이상의 파이썬 버전부터 사용가능하니 주의

1
2
3
age=20
color="노랑"
print(f"나는 {age}살이며, {color}색을 좋아해요") #print의 시작에 'f'를 넣어주는 것이 중요.

boolean 자료형

boolean 자료형은 불 대수라고 하는 1 or 0의 논리적 대수의 자료형을 뜻한다. 쉽게 말해서 참이냐 거짓이냐? 1이냐 0이냐?를 따지는 자료형이라고 보면 된다.

아래에 나올 연산자들 중 ‘==’는 ‘같음’ 이라는 뜻이다.

1
2
3
4
5
6
7
8
9
10
num1 = 2
num2 = 4

#num1과 num는 같은가?(num1==num2)
print(num1==num2)

결과:
False

#값이 다르기 때문에 False(0)을 출력한다. 만약 num1과 num2가 전부 2였다면 True를 출력했을 것이다.

이후 나올 문자열, 리스트, 튜플, 딕셔너리 등의 값이 비어있다면(Empty) 그 값은 False다.

리스트 자료형

숫자와 문자열, 나중에 프로그램이 커지면 커질수록 저장해야할 데이터들은 많아지고 복잡해진다. 그럴 때 우리들은 어떻게 정보들을 관리하고 처리할 수 있을까? 1, 2, 3, …100까지 하나하나 적으면서 처리하기는 너무 힘들다. 그래서 나온게 리스트list이다.

리스트 만들기

리스트를 만들 때는 []대괄호로 묶어주고 ‘,’로 값을 구분해주면 끝이다.

1
oddnum = {1, 3, 5, 7, 9}

참 쉽다. 비어있는 리스트를 가질 수도, 문자열의 리스트를 가질 수도 숫자의 리스트를 가질 수도, 리스트를 값으로 가진 리스트를 만들수도, 숫자, 문자열을 동시에 가진 리스트를 만들 수도 있다.

1
2
3
4
oddnum = {1, 3}
oddnumstr = {"일", "삼"}
oddnummix = {1, "삼"}
emptylist1 = {1, "삼", ["오", 7]}

문자열과 같이 인덱싱을 적용할 수 있다. 0부터 첫 번째 값이다. 마지막에서부터는 -1 부터다.

1
2
3
4
5
oddnum = {1, 3}
print(oddnum[1])

결과:
3

리스트의 함수들

  • 리스트.append(a) 리스트의 끝에 a를 추가함

  • 리스트.insert(n, a) a를 n번째 리스트에 추가함

  • 리스트.pop() 리스트의 끝에서부터 1만큼 삭제함

  • 리스트.count(a) 리스트에 a가 얼만큼있는지 갯수를 셈.

  • 리스트.sort() 리스트를 내림차순으로 정렬함

  • 리스트.reverse() 리스트를 뒤집음. ex) 5, 4, 3, 2, 1 -> 1, 2, 3, 4, 5

  • 리스트.clear() 리스트의 모든 내용을 삭제함.

  • 리스트에 다양한 자료형을 함께 사용할 수 있다. ex) list = [“문자열”, 4, True]

  • 리스트.extend(리스트2) 리스트+리스트를 합쳐 리스트를 확장할 수 있음.

튜플 자료형

튜플은 몇 가지 점을 제외하곤 리스트와 거의 비슷하다. 불변하는 값들로 튜플을 정의해주면 빠른 처리로 속도가 향상된다.

튜플의 값을 변경하려 하면 오류가 발생한다

  • 튜플은 ()로 둘러싼다
  • 튜플은 요소 값을 바꿀 수 없다.
  • 튜플은 리스트보다 빠르다
  • 요소를 정의할 때 ()를 생략할 수 있다. tuple1 = 1, 2, 3 그 말은, 별 다른 괄호가 없다면 튜플로 정의된다는 걸 알 수 있다.

딕셔너리 자료형

딕셔너리dictionary은 말 그대로 사전이다. “People”은 “사람”, “Apple”은 “사과” 이듯이 딕셔너리의 키Key와 값Value은 1:1관계이다(키에 대한 중복을 허용하지 않는다)

딕셔너리 만들기

1
dic1 = {"name":"홍길동", "age":"27", "sex":"M"}

의 코드가 있다고 할때 dic1의 정보는 다음과 같다.

Key Value
name 홍길동
age 27
sex M

딕셔너리를 불러내는 방법은 두 가지가 있는데 딕셔너리[Key] 와 딕셔너리.get(키) 이다. 첫 번째 방법([키])은 디버깅시 오류를 발생하고 두 번째 방법(.get(키))은 오류 대신 None값을 출력한다.

딕셔너리 함수

  • 딕셔너리[키] in 값 키 안에 값이 맞을 경우 True, 아닐 경우 False를 출력한다.
  • del 딕셔너리[키] 딕셔너리 안의 키를 삭제한다.

  • 딕셔너리.get(키) 위에서 설명했듯이 딕셔너리의 키에 대한 값을 불러오고 값이 없을 경우 None을 출력한다. 값이 없을 경우 입력하고 싶을 때 **딕셔너리.get(키, 값)을 입력하면 없을 경우 값을 입력한다.

  • 딕셔너리.keys() 딕셔너리의 ‘키’들을 전부 출력한다

  • 딕셔너리.values() 딕셔너리의 ‘값’들을 전부 출력한다

  • 딕셔너리.items() 딕셔너리의 ‘키’ 와 ‘값’ 전부를 출력한다.

  • 딕셔너리.clear() 딕셔너리의 모든 값을 지운다.

집합 자료형

집합set 자료형은 중복이 불가능하고, 순서가 없다 리스트나 튜플은 순서가 있기(ordered)때문에 인덱싱으로 값을 얻을 수 있지만, 집합은 순서가 없기(unordered)때문에 인덱싱으로 값을 얻을 수 없다. 집합 자료형에 접근하려면 리스트나 튜플로 바꾼 후에 접근해야 한다.

집합 자료형의 활용

집합 자료형은 예전 중학교 때 배웠던 ‘교집합, 합집합, 차집합’을 사용할 때 유용하게 쓰인다. 밴 다이어그램을 생각하면된다. 예를 들어, 개발자의 스펙을 나눠서 저장해본다고 해보자

1
2
java = {"철수", "영희", "민수"}
python ={"철수", "짱구", "유리"}

자바를 할 수 있는 개발자는 철수, 영희, 민수 세 명이고 파이썬을 할 수 있는 개발자는 철수, 짱구, 유리이다.

교집합

자바도 가능하고 파이썬도 가능한 개발자를 찾고싶으면 어떻게 해야할까? 두 가지 방법으로 교집합을 찾을 수 있다.

1
2
print(java & python) #and와 같음
print(java.intersection(python))#java의 값 중 python과 맞는 값이 

합집합

자바나 파이썬이 가능한 개발자는?

1
2
print(java | python) #or과 같음
print(java.union(python))

차집합

자바는 가능한데 파이썬은 불가능한 개발자는?

1
2
print(java - python)
print(java.difference(python))

집합의 값 추가와 제거

자바만 할 줄 알던 개발자 민수 씨가 파이썬 프로젝트에 참가하기 위해서 파이썬을 열심히 공부해서 1인분 이상을 할 수 있게 되었다. 마침 파이썬 개발자 유리씨가 퇴사하게 되어서 잘 되었다 싶은데, 추가와 제거는 어떻게 할까? add와 remove를 사용해주면 된다

1
2
python.add("민수")
python.remove("유리")



자료구조의 변경

menu = {"밥", "라면", "음료"} 의 set 변수를 선언했다고해보자. type()으로 menu의 자료형을 알아보면 <class> ‘set’ 으로 나오는걸 알 수 있다. 만약 이 menu라는 set변수를 다른 자료구조의 형태로 바꿀 수 있을까? 생각보다 간단하고, 쓰이는 곳도 많다.

  • list 로 변경하기 바꾸고싶은 변수를 list()안에 넣어주기만 하면 끝난다.
1
2
3
4
5
6
7
8
9
menu = {"밥", "라면", "음료"} #현재 set변수
print(type(menu))
menu = list(menu) #list 형태로 menu의 자료형을 바꿈

print(type(menu))

결과:
<class 'set'>
<class 'list'>
  • tuple 로 변경하기 바꾸고싶은 변수를 tuple()안에 넣어주기만 하면 끝난다.
1
2
3
4
5
6
7
8
9
menu = {"밥", "라면", "음료"} #현재 set변수
print(type(menu))
menu = tuple(menu) #tuple 형태로 menu의 자료형을 바꿈

print(type(menu))

결과:
<class 'set'>
<class 'list'>
  • set 으로 변경하기 바꾸고싶은 변수를 set()안에 넣어주기만 하면 끝난다.
1
2
3
4
5
6
7
8
9
menu = {1:"밥", 2:"라면", 3:"음료"} #현재 dict변수
print(type(menu))
menu = set(menu) #set 형태로 menu의 자료형을 바꿈

print(type(menu))

결과:
<class 'dict'>
<class 'set'>

라이브러리

라이브러리Library는 말 그대로 도서관이라는 뜻이며 전 세계의 파이썬 프로그래머들이 만든 다양한 함수들을 모아놓는 곳 이라고 생각하면 된다. 표준 라이브러리외부 라이브러리가 있으며 이 포스팅에서는 2개의 표준 라이브러리의 몇 가지 함수들만을 소개한다. 더 자세한 정보를 원하면 파이썬 표준 라이브러리를 참고하자.

라이브러리를 사용하려면 다음과 같은 코드를 사용한다. from A import * ‘A’라는 파일이나 라이브러리를 가져와서, *의 함수를 사용하겠다는 뜻인데, *의 경우에는 A라는 라이브러리(파일)에 모든 함수를 사용하겠다는 의미입니다.

math

from math import *

math, 수학에 유용한 함수들을 모아놓은 라이브러리이다.

파이썬 내장 함수

math 라이브러리를 사용하지 않고도 사용할 수 있는 몇 가지 함수들이 있다.

abs(value)

value의 절댓값을 출력하는 함수이다. abs(-5) -> 5를 출력한다.

pow(a, b)

a의 거듭제곱 b를 구해 반환하는 함수이다.

max(a, b)

a, b중 높은 값을 구해 반환하는 함수이다.

min(a, b)

a, b중 낮은 값을 구해 반환하는 함수이다.

round(a)

a의 값을 반올림해 반환하는 함수이다.

math 라이브러리 함수

floor(value)

value의 값을 ‘내림’해서 반환한다. 소수점 아래를 전부 버린다고 생각하면 편하다.

ceil(value)

value의 값을 ‘올림’해서 반환한다. 소수점 아래를 전부 지우고 1을 더하는 함수라고 생각하면 편하다.

sqrt(value)

value의 값의 제곱근을 반환한다. 예를들어 16의 제곱근은 4인데, sqrt(16)의 값 또한 4이다.

random 라이브러리

난수를 취급할 때 사용하면 좋은 함수이다. 프로그램을 만들때 난수는 많이 쓰일 것 같은데 알아두면 좋을 것 같다.

random()

0~1 미만의 값을 랜덤으로 출력한다. 값들은 전부 개별적이며 이 뜻은

1
2
3
4
5
6
7
8
9
10
11
12
print(random())
print(random())
print(random())
print(random())
print(random())

결과:
0.9189088501541706
0.7910450275238605
0.1931106695835506
0.5430258224413623
0.6037184313329538

결과처럼 했을 때 5개의 출력 값 모두 다르게 나온다는 뜻이다.

random 활용

random() * 10 0~1 이 아닌, 0~100, 0~10 미만의 값을 출력하고 싶다면 뒤에 곱셈연산자 *와 늘릴 범위의 값을 적어주어 범위를 늘릴 수 있다.

int(random) * 10 위의 random()*10 은 0~10 미만의 실수들(0.238238293 같은)의 값을 주기 때문에 1~10명까지를 추첨한다는 등의 방식에서는 자료형을 정수로 바꿔주는 int()로 정수의 범위를 지정할 수 있다.

randrange(a, b)

a ~ b 미만 사이의 값을 랜덤으로 출력한다.

randint(a, b)

a ~ b 이하 사이의 정수값을 랜덤으로 출력한다. 다른 것들은 전부 ‘미만’ 이지만 이 함수는 ‘이하’의 정수값을 출력한다.

shuffle(리스트)

이후 나올 리스트안의 값들의 순서를 무작위로 바꾼다. 1, 2, 3, 4 가 있었다면 4, 2, 3, 1 순의 무작위 순서로 바뀌는 것이다.

sample(리스트, 개수)

이후 나올 리스트안의 값들 중 개수만큼 랜덤으로 뽑는다. {1, 2, 3, 4, 5}가 있고 sample(리스트, 2) 라면 랜덤으로 2, 3 이나 1, 5 등이 뽑힌다는 것이다.

정리

파이썬의 기본 특징과 자료형, 함수들에 대해서 정리해보았다. 다음 포스팅에는 반복, 조건문과 파이썬 입출력 등에 대해 정리할 듯 하다.

댓글남기기