본문 바로가기
  • 紹睿: 자유롭고 더불어 사는 가치있는 삶
Data/python·알고리즘

[python 기초] 데이터 타입과 변수

by 징여 2018. 6. 26.
반응형

데이터 타입과 변수


1. 기본(Built-in)데이터 타입

1) 숫자

- Integers

- Floats

- Complex numbers

- Booleans

2) List, Tuple

- List: 일종의 array

- Tuple: Immutable(값이 변할 수 없음)

3) String

4) Dictionary

- Keys

- values

5) Sets: 집합

6) File Objects: File을 만들거나, 오픈 등등 자원관리


예제


1. 일반 Type

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
print("Hello world!")
print("안녕하세요")
print(type(20))
print(type("20"))
print(""" 'Oh no', she said""")
print(10/3)
print((-3)**4)
 
 
Hello world!
안녕하세요
<class 'int'>
<class 'str'>
 'Oh no', she said
3.3333333333333335
81
 
cs


2. List는 []를 사용한다. 서로 다른 type을 가진 list4와 같은 경우도 가능하다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#List
list1 = []
list2 = [1]
list3 = [1234]
list4 = [1"two"34.0, ["a""b"], (56)]
 
print(list1)
print(list2)
print(list3)
print(list4)
 
[]
[1]
[1234]
[1'two'34.0, ['a''b'], (56)]
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#List
= ['first''second''third''fourth']
print(A[0])
print(A[3])
print(A[-3])
print(A[1:-1])
print(A[:3])
print(A[-2:])
 
first
fourth
second
['second''third']
['first''second''third']
['third''fourth']
cs

3. Tuple은 ()을 사용하며, list와 마찬가지로 데이터 타입이 다른 애들이있는경우 tuple4도 가능하다.
tuple2같은 경우 ","를 사용하지 않으면 int 형식이 됨으로 주의해 주자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#Tuple 
tuple1 = ()
tuple2 = (1#이러한 경우는 int
tuple3 = (1,)
tuple4 = (1,2,"three", ['a''b'])
 
print(tuple1)
print(type(tuple2), tuple2)
print(type(tuple3), tuple3)
print(tuple4)
 
()
<class 'int'> 1
<class 'tuple'> (1,)
(12'three', ['a''b'])
 
cs


4. String

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#String
print("Let's go")
# Let's go
 
print('Let"s go')
# Let"s go
 
= "Hello,"
= "World!"
print(x+y)
# Hello,World!
 
"""This is a very long string,
it continues here.
And it is not ver yet."""
 
 
#SyntaxError: invalid syntax
print('Let's go')
cs


5. Unicode, python2에서는 u를 붙힐경우 유니코드가 되지만, python3에서는 그냥 string으로 처리한다.

1
2
3
4
5
6
7
8
9
#Unicode
= '파이썬'
= u'파이썬'
 
print(type(a), a)
print(type(b), b)
 
<class 'str'> 파이썬
<class 'str'> 파이썬
cs


6. Dictionary는 {}를 사용하며 key와 values를 갖는다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#Dictionary
dict1 = {}
dict2 = {1:"one"2:"two"}
 
print(dict1)
# {}
 
print(dict2)
# {1: 'one', 2: 'two'}
 
print(dict2[1])
# one
print(dict2[2])
# two
print(dict2.get(4))
# None
 
# 없는 경우에는 "not avail"를 출력하라.
print(dict2.get(4"not avail"))
# not avail
cs


7. Sets

1
2
3
4
5
6
7
8
9
10
11
12
#Sets
set1 = set()
set2 = set([1,2,2,3,3,3,4,5])
 
print(2 in set2)
# True
 
print(1 in set2)
# True
 
print(10 in set2)
# False
cs


변수


변수명과 keyword

- keyword를 사용하지 말것

- __는 사용 가능하나 맨 앞에 나오면 특수한 의미를 갖는다.


PEP 규칙(http://legacy.python.org/dev/peps/pep-0008/

- Class는 대문자로 시작

- 함수, method 등은 camel type: 단어마다 대문자를 줌(맨앞은 소문자) => 표준화

lookAtThis()

- Constant는 모두 대문자

- 기타 변수는 소문자



문장(statements)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
print(2*2#4
print(input("How old are you?")) # 사용자가 입력한 값으로 나옴
 
num =input("How old are you?")
print(num) # 변수로 지정하여 값을 받을 수 있다.
 
= input("y:")
 
print(y, y+5)
# TypeError: must be str, not int
# input()으로 얻은 값은 str이기 때문!
 
= int(input("y:")
print(y, y+5#y:5 
# 5 10 에러없이 잘 나옴!
cs



함수(Function)


1
2
3
4
5
6
7
8
#function
print(pow(2,3)) # 8
print(10+pow(2,5)/5.0# 16.4
print(int(31.4)) # 31
print(int(-3.99)) # -3
 
print(int("23 bottles")
#ValueEorror
cs



Module


확장기능을 담은 파일 

import


1
2
3
4
5
6
7
8
9
10
import math
print(math.floor(32.9)) # 32
 
from math import sqrt
print(sqrt(9)) # 3
print(sqrt(-5)) # math domain error
 
import cmath
print(cmath.sqrt(-1)) # 1j 허수
print((1+3j)*(9+4j)) # (-3+31j)
cs



Class와 Library


OOP란?

객체 지향 프로그램

: 사물(Thing)과 사물간의 관계

Class 와 Class / instance와 instance의 관계 등을 가지고 프로그래밍하는 것


python 프로그래밍

- procedural -> function()

- OOP -> Class


Library

- 함수들을 한곳에 모아둔 것들 -> API로 사용

package가 주로 library

- Standard library(별도로 import 하지 않아도 사용할 수 있는 아이들)


python 환경변수

PYTHONPATH: PATH와 같은 역할

PYTHONSTARTUP: interpreter 실행 마다 동작하는 초기화 작업 (-Unix .profile 또는 .login 파일과 유사)

PYTHONCASEOK: windows에서 대소문자 구별 여부 지정

PYTHONHOME: PYTHONSTARTUP or PYTHONPATH 디렉토리에 내장



Test 예제


turtle 사용하기


1
2
3
4
5
6
7
8
import turtle
 
wn = turtle.Screen()
alex = turtle.Turtle()
alex.forward(150)
alex.left(90)
alex.forward(75)
wn.exitonclick()
cs

turtle alex!!!!!!만들어서, 조종하기 헤헤



반응형

댓글