티스토리 뷰

 

01. 미운코딩새끼

 


 

02. 프로그램과 프로그래밍

 

· 프로그램의 기본 구조

순차 (순서대로 차례대로)

선택 (if 예 아니오)

반복 (for, while)

 


 

03. 왜 파이썬일까요?

 

1. 쉽다

절대적으로는 어려움

2. 범용 프로그래밍 언어이다 (만들 수 있는 게 많다)

3. 코드가 간결하다

4. 빠르게 개발이 가능하다

파이썬 라이브러리가 많다.

 

TMI !

파이썬 코드는 아름답고 간결해야 한다.

그중 간결함에 초점이 맞춰져 있다.

 


 

04. 파이썬 설치하기 : IDLE

 


 

05. 출력하기 : print()

 


 

06. 입력하기 : input()

 


 

07. 변수와 변수 이름

 

· 변수 (variable)

변할 수 있는 수

 

· 변수 naming 규칙 (유니코드)

1. 대소문자를 구분한다

2. 한글 사용이 가능하다

3. 숫자로 시작할 수 없다

4. 띄어쓰기는 _ 로 대체한다

my int → my_int

 


 

08. 기본재료 1 : 숫자형, 문자형, 불린

 

int 정수

float 실수

String 문자

boolean 참과 거짓

 

TMI !

컴퓨터 = 계산하는 사람

옛날에는 컴퓨터라는 직업이 있었다.

 


 

09. 기본재료 2 : 리스트, 튜플, 딕셔너리

 

· Container

리스트, 튜플, 딕셔너리와 같이 여러 개의 값을 모아놓는 것(?)들을 말한다.

 

· List [ ]

 

· Tuple ( )

안에 값을 변경할 수 없다.

my_tuple = ('방울이', '벼리')

my_tuple[1] = '비린내 나는 벼리' # ERROR!

 

· Dictionary { key : value }

my_family = {
  '박보희' : '여자'
  '벼리' : '남자'
  '방울이' : '중성'
}

print(my_family['벼리'])
# 출력 '남자'

 


 

10. 자료형 변환하기

 

· 강제 형 변환

int

my_int = 1    # integer
print(my_int)
# 출력 1

float(my_int) # float
print(float(my_int))
# 출력 1.0

str(my_int)   # String
print(str(my_int))
# 출력 '1'

String

my_str = 'korea' # String
print(my_str)
# 출력 'korea'

list(my_str)     # list
print(list(my_str))
# 출력 ['k', 'o', 'r', 'e', 'a']

 


 

11. 주석 (comment)

 

#을 사용한다

# 개발코를 출력합니다
print('개발코')

 


 

12. 문자열

 

작은 / 큰 따옴표 3개를 사용하면 여러 줄에 문자열을 저장할 수 있다.

my_family = """
박보희
방울이
벼리
"""

print(my_family)
# 출력 '\n박보희\n방울이\n벼리\n'

 


 

13. 문자열 포맷팅 (formatting)

 

정수 %d

실수 %f

문자 %s

 

· 단일 사용

my_name = 'My name is %s' % '박보희'

print(my_name)
# 출력 'My name is 박보희'

 

· 여러 개 사용

여러 개 일 때 (괄호)를 사용한다.

my_birthday = '2001. %d. %d' % (7, 5)

print(my_birth)
# 출력 '2001. 7. 5'

 


 

14. format( )

 

my_name = 'My name is %s' % '박보희'

my_name = 'My name is {}'.format('박보희')

{괄호} 안에 숫자를 사용하면 주소로 들어간다.

my_birthday = '{1}. {2}. {0}'.format(5, 2001, 7)
                                    #0 #1    #2
print(my_birthday)
# 출력 '2001. 7. 5'

 


 

15. 문자열 인덱싱

 

· Indexing (주소, 위치)

-6 -5 -4 -3 -2 -1
0 1 2 3 4 5
P Y T H O N

 


 

16. 문자열 슬라이싱

 

my_py = 'PYTHON'

print(my_py[:2])
# 출력 'PY'

print(my_py[1:4])
# 출력 'YTH'

print(my_py[3:])
# 출력 'HON'

 


 

17. 문자열 메서드

 

· 함수 

어떠한 기능을 수행하는 메서드

 

· split( )

기본 default

공백을 기준으로 나눈다.

my_life = 'Life is too short'

print(my_life.slice())
# 출력 ['Life', 'is', 'too', 'short']

사용자 정의

my_phone = '011-8956-5623'

print(my_phone.slice('-'))
# 출력 ['011', '8956', '5623']

 


 

18. 독스트링 (docstring)

 

함수 설명을 할 때 사용한다.

작은 / 큰 따옴표 3개를 사용하면 주석으로 사용할 수 있다.

감싼 문자열에 어느 이름(변수명)을 붙이지 않고 사용하면 주석으로 사용할 수 있다.

# 주석

"""
주석
"""

 


 

19. end, 이스케이프 코드

 

· end

print('방울이와 ', end='벼리')
# 출력 '방울이와 벼리'

 

· 이스케이프 코드 (Escape Code)

특정한 기능을 수행하는 문자의 조합

enter \n

tab \t

 


 

20. 리스트

 

1. 여러 개의 값을 저장

2. 들어가는 값은 같아도, 달라도 된다.

3. 값을 변경할 수 있다. (mutable)

 

TMI !

immutable 값을 변경할 수 없는

mutable 값을 변경할 수 있는

 


 

21. 리스트 값 추가하기 

 

my_pets = ['방울이']
print(my_pets)
# 출력 ['방울이']

my_pets.append('벼리')
print(my_pets)
# 출력 ['방울이', '벼리']

 


 

22. 리스트 인덱싱, 슬라이싱

 

· 리스트 인덱싱

index 0 1 2
element 123 'ab' true

 

· 리스트 삭제

my_pets = ['방울이', '벼리']

del my_pets['벼리']

print(my_pets)
# 출력 ['방울이']

 

· 리스트 슬라이싱

String과 동일하다

my_animals = ['강아지', '토끼', '햄스터', '작은 쥐', '수달', '물개']

print(my_animals[1:4])
# 출력 ['토끼', '햄스터', '작은 쥐']

 


 

23. 리스트 메서드

 

· 리스트 메서드

list.sort( )

내림차순으로 정렬한다.

list.count( )

같은 값이 리스트에 몇 개가 있는지 알려준다.

 

· 함수

파이썬에서 기본으로 제공하는 내장 함수

len()

개수를 알려준다.

 


 

24. 튜플

 

값을 변경할 수 없다. (immutable)

my_tuple = ()

my_tuple = (1, 2, 3)
# 가능

my_tuple[0] = 4
# 불가능

 


 

25. 패킹, 언패킹

 

· Packing

여러 개를 하나로

my_tuple = (1, 2, 3)

 

· Unpacking

하나를 여러 개로

my_tuple = (1, 2, 3)

n1, n2, n3 = my_tuple
# n1 = 1 
# n2 = 2
# n3 = 3

 

temp를 사용하지 않고 서로의 값을 바꿀 때

n1 = 1
n2 = 2

n1, n2 = n2, n1
# n1 = 2
# n2 = 1

 


 

26. for

 

for 변수 in Container(list, tuple, dictionary):
  수행할 명령

 


 

27. range( )

 

for n in range(3):
  print(n)
# 출력 0 1 2

for n in range(1, 4):
  print(n)
# 출력 1 2 3

 


 

28. for x 2

 


 

29. 컴프리헨션 (Comprehension)

 

결과 값을 리스트로 만들겠다.

numbers = [1, 2, 3, 4, 5]
odd_numbers = []

# 일반
for number in numbers:
  if number % 2 == 1:
    odd_numbers.append(number)
    # 출력 [1, 3, 5]

# 컴프리헨션
odd_numbers = [number for number in numbers if number % 2 == 1]
# 출력 [1, 3, 5]

 


 

30. 할당 연산자 (Assign)

 

· 할당 연산자

= += -= *= /=

 

· 복합 할당 연산자

+= -= *= /=

 


 

31. 산술 연산자 (Arithmetic)

 

· 산술 연산자

+ - * /

 

· 특수 연산자

** // %
제곱 나머지

# 제곱
4 ** 2
# 출력 16

# 몫
7 / 3
# 출력 2.33333···.
7 // 3
# 출력 2

# 나머지
7 % 3
# 출력 1

 


 

32. %로 홀짝 구분하기

 

1 % 2 == 1  # 홀수
2 % 2 == 0  # 짝수
3 % 2 == 1  # 홀수
4 % 2 == 0  # 짝수

 


 

33. 문자열 연산자 (String)

 

· 문자열 연산자

+ *
연결 반복

'김왼손' + 'X' + '김오른손'
# 출력 '김왼손X김오른손'

'안녕' * 3
# 출력 '안녕안녕안녕'

 


 

34. 비교 연산자 (Comparison)

 

· 비교 연산자

== != >
< >= <=

 


 

35. 논리 연산자 (Logical)

 

· 논리 연산자

기존 언어와는 조금 다르다

and or not

age = 8
height 120

if height > 140 and age > 10:
  print('탑승')

 


 

36. 멤버십 연산자 (Membership)

 

· 멤버쉽 연산자

Container(List, Tuple, Dictionary) 안에 값이 있는지 확인한다.

in not in

my_family = ['박보희', '박지희', '방울이', '벼리']

'방울이' in my_family
# 출력 True

'방울이' not in my_family
# 출력 false

 


 

37. if

 

if 조건:
  실행할 명령

 


 

38. else, elif

 

· else

if 조건:
  실행할 명령
else:
  실행할 명령

 

· elif

if 조건:
  실행할 명령
elif 조건:
  실행할 명령

 


 

39. while

 

· 반복문 (Loop)

while 조건:
  실행할 명령

 


 

40. continue, break

 

· continue

continue 아래 명령을 실행하지 않고 다시 반복문 위로 돌아간다.

 

· break

반복문을 빠져나온다.

 


 

41. 딕셔너리 (Dictionary)

 

· key와 value

{ key : value }

 

· 추가

my_dict = []

my_dict[0] = 'a'
     # key  # value
     
print(my_dict)
# 출력 {0: 'a'}

print(my_dict[0])
# 출력 'a'

 

· 삭제

my_dict = {0: 'a', 1: 'b'}

del my_dict[0]

print(my_dict)
# 출력 {1: 'b'}

 


 

42. 딕셔너리 메서드

 

· dict.values( )

my_dict = {1: 'a', 2: 'b', 3: 'c'}

print(my_dict.values())
# 출력 dict_values(['a', 'b', 'c'])

for v in my_dict.values():
  print(v)
  # 출력 'a', 'b', 'c'

 

· dict.keys( )

my_dict = {1: 'a', 2: 'b', 3: 'c'}

print(my_dict.keys())
# 출력 dict_values([1, 2, 3])

for k in my_dict.keys():
  print(k)
  # 출력 1, 2, 3

 

· dict.items( )

my_dict = {1: 'a', 2: 'b', 3: 'c'}

for k, v in my_dict.items():
  print(k, v)
  # 출력 
  # 1 a
  # 2 b
  # 3 c

 


 

43. 함수 (Function)

 

· 내장 함수

파이썬에서 기본으로 제공하는 함수

print()... input()... len()...

 

· 모듈의 함수

모듈을 import 해서 사용할 수 있는 함수

 

· 사용자 정의 함수

def 함수이름(인자1, ...):
  실행할 명령
  
  return 결과

 


 

44. 함수를 사용하는 이유

 

1. 재사용성

2. 코드 관리

3. 조립식 사용

 

· 예제

def sum(n1, n2): 
  return n1 + n2

print(sum(1, 4))
# 출력 5

 


 

45. 여러 개 돌려주기 

 

여러 개의 결과 값을 하나의 튜플로 (packing) 만들어 돌려준다.

def 함수이름(인자1, ...):
  실행할 명령
  
  return 결과1, 결과2, ...

def add_mul(n1, n2):
  return n1 + n2, n1 * n2
  
print(add_mul(2, 4))
# 출력 (6, 8)

 


 

46. 모듈 (Module)

 


 

47. 랜덤 (Random)

 

· random.choice( )

import random 

animals = ['퍼피', '도그', '강아지', '개']

print(random.choice(animals))
# 출력 '도그'

 

· random.sample( )

중복되지 않은 값을 출력한다

import random 

print(random.sample(range(1, 46), 6))
# 출력 23, 22, 14, 32, 44, 30

 

· random.randint( )

8 ~ 10까지의 값 중 한 가지 값을 출력한다.

print(random.randit(8, 10))
# 출력 8

 


 

48. 객체 (Object)

 


 

49. 코딩 스타일 

 

· PEP (Python Enhance Proposal) 8

파이썬 코딩 스타일 가이드

참고

https://spoqa.github.io/2012/08/03/about-python-coding-convention.html

 

파이썬 코딩 컨벤션

PEP 8을 통해 파이썬 코딩 컨벤션을 알아봅니다.

spoqa.github.io

 

 


 

50. 구글링 방법

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함