데이터 타입과 변수
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 = [1, 2, 3, 4] list4 = [1, "two", 3, 4.0, ["a", "b"], (5, 6)] print(list1) print(list2) print(list3) print(list4) [] [1] [1, 2, 3, 4] [1, 'two', 3, 4.0, ['a', 'b'], (5, 6)] | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #List A = ['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 |
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,) (1, 2, '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 x = "Hello," y = "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 a = '파이썬' b = 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) # 변수로 지정하여 값을 받을 수 있다. y = input("y:") print(y, y+5) # TypeError: must be str, not int # input()으로 얻은 값은 str이기 때문! y = 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 |
'Data > python·알고리즘' 카테고리의 다른 글
[python 기초] python의 tuple에 대하여 (0) | 2018.06.27 |
---|---|
[python 기초] python의 list에 대하여 (0) | 2018.06.27 |
[python 기초] python 개요와 설치 (0) | 2018.06.26 |
[퀵 정렬] quick sort - python (0) | 2018.06.19 |
[백준 알고리즘] 1181번 단어 정렬 (0) | 2018.06.19 |
댓글