https://www.youtube.com/watch?v=ikCjr8-QYAs&list=PLGPF8gvWLYypeEoFNTfSHdFL5WRLAfmmm&index=10
강의 주소
add python 3.6 to path 체크하고 다운받기
option - configure idle - setting ! 배경바꾸기
7
print(1)
print(-1)
print(3.14)
8 연산자1
print(1 + 2)
print(3 - 4)
print(2 * 3)
print(16 / 2)
9 연산자2
** 제곱
// 몫
% 나머지
print(1 ** 2) // 1
print(3 // 4) // 0
print(5 % 6) // 5
11 복합할당연산자
+=
-=
*=
/=
12 변수이름
a = 1
A = 2
다른 것!
대문자와 소문자 구분한다
13 문자열
'' 작은따옴표 안에!
"" 큰따옴표도 문자열이 되는데, 두 개 구분은 나중에! ***
- type
print(type(str)) => <class 'type'> 읭?
print(s1, s2) // s1 = m, s2 = n 일 때 => m n
14 문자열 연산
+ *
s1 = 'a' + 'b' + 'c' //abc
s2 = 'a' * 4 //aaaa
15 문자열 인덱싱
alpha = 'abcd'
alpha[0] = 'a'
16 문자열 음수 인덱싱
s = 'abcd' // 0 1 2 3 혹은 -4 -3 -2 -1
17, 18 슬라이싱 여러 문자 가져오기
s = 'abcd'
a:b ==> a이상 b 미만~!
s[1:2] // b
s[:4] // abcd
공백포함!!
s[2:] // cd
s[:] // abcd
19 .split()
s = 'a b c' //빈칸이 2개이상이어도 됨
s2 = s.split()
print(s2[0]) // a
s2 = ['a', 'b', 'c']
s = 'apple banana lemon'
s2 = s.split('a')
s2 = ['', 'pple b', 'n', 'n', ' lemon']
20 .format() 중괄호!!
print('Life is {}'.format('Short!')) // 중괄호 안에 대입이 된다.
print('{}x{}={}'.format(2, 3, 2*3)) //2x3=6
%보다는(c언어) .format() 쓰기!
21 """문자열"""
print('''첫번째
두번째
세번째''')
해보자
print('첫번째
=>오류
print('''첫번째
두번째
세번째''')
이러면 잘 출력됨
여러줄 문자열
""" 이나 '''를 쓰면 엔터 쳐도 계속 문자열 입력할 수 있다~
22 end
print는 엔터가 default
end는 끝을 내가 지정하는거야
print('coding', end='\n')
print('coding', end='\-') //엔터 안쳐지는 것을 유의!
print('coding', end=' ') //끝을 비도록! 엔터x
print('coding', end='\t')
23 포맷 연산자 %
%d 정수 %f 실수 %s 문자열
print('Life is %s' % 'Short!')
print('%d x %d = %d' % (2, 3, 2 * 3))
근데 뭐든 %s를 쓰면 다 문자열로 출력됨
24 이스케이프 코드 (파이썬 이스케이프 코드 구글 검색)
\n \t
print('\\n') // \n이 출력됨 그냥 \n을 하면 줄바꿈이 되기 때문!
' '
" "
print("I'm Yours") //겉에 큰따옴표
print('I\'m Yours') //겉에 작은따옴표
같은 표현!
25 주석
# 주석
26 재료를 모으는 방법
27 리스트
[요소1, 요소2, ...]
list1 = []
list2 = [1, 2, 3]
lsit3 = ['a', 'b']
28 리스트에 값 추가하기
.append() : 리스트에서만 사용가능한 메소드
list = []
list.append(1)
list.append(True) // 꼭 대문자
list.append('a')
=> list = [1, True, 'a']
29 값에 접근하기 : 인덱싱
list[0] = 2 변경가능
list[-1] = 'a'
30 값 제거하기
del list[0] // 인덱스1 은 0이되고 2는 1이된다.
슬라이싱
list[0:2] = 인덱스 0과 1을 가져옴~
전에 했던 것과 같다~
31 여러 값 가져오기
32 값 정렬하기
.sort()
list = [1, 3, 2, 4]
list.sort()
list = [1, 2, 3, 4]
33 값의 개수 세기
.count()
list = ['a', 'c', 'a']
list.count('a') // 2
34 키워드 in
list['a', 'b', 'c']
'a' in list // true
'f' not in list // true
35 튜플
튜플 값을 변경할 수 없다.
문자열 값 변경할 수 없다.
리스트 값을 변경할 수 있다.
(요소1, 요소2, ...)
요소1, 요소2, ... //괄호 없어도 됨
t1 = ()
t2 = (1,) //튜플임을 알려주기 위해 , 콤마를 쓴다. (1) 이건 숫자로 인식함. 값이 한개니까
t3 = ('a', 'b', 'c')
t4 = 3.14, 'Python', True
print(type(t2)) // <class 'tuple'> 이라고 나옴. type ***
t5 = (1)
<class 'int'> 라고 나옴 print(type(t5)) 하면
36 튜플 사용 이유
값 절대 바뀌지 않게 하기 위해
코드 오염 방지
튜플이 리스트보다 빠름
37 패킹/언패킹
tuple = 3.14, 'Python', False
i, s, b = (123, 'abc', True)
38 for
조건 기준 반복 while
횟수 기준 반복 for
for 변수 in 순서열:
실행할 명령1
실행할 명령2
.
.
.
list = [1, 2, 3]
for count in list:
print(count)
39 IDLE 에디터 모드
여러 줄 쓰기 위해
FILE - new file - 빈화면 (file이 안보이면 내컴퓨터 검색창에서 idle 찾기)
코드 입력 후 저장
Run - Run Module (F5)
40 문자열 반복하기
str = 'coding'
for letter in str:
print(letter)
동일!
41 들여쓰기
: 쓰면 들여쓰기 쓴다고 쓰면 됨. 코드블록. tab을 사용하는 것이 좋다~ (편하니까) == 띄어쓰기 4칸
42 range(stop) - 내장함수 bulit in function
for count in range(3): // 0, 1, 2라는 값을 가지고 있는 순서열이 된다.
print(range(3)) => range(0, 3) // range형 객체가 생성됨
print(list(range(3)) => [0, 1, 2] 리스트가 된다!
>>> type(range(3)) or type(range(0, 3))
<class 'range'>
43 range(start, stop)
for count in range(5, 10):
=> 5~9
44 for 중첩
for j in range(2):
for i in range(2):
print('i:{}, j:{}'.format(i, j))
구구단도 할 수 있겠지~
45 리스트 컴프리헨션 comprehension
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
odd_numbers = []
for number in numbers:
if number % 2 == 1:
odd_numbers.append(number)
위 다섯줄과 같은 의미의 한 줄!
=> odd_numbers = [number for number in numbers if number % 2 == 1]
46 논리 자료형
논리형 : True False
bool1 = True
bool2 = 1 == 2 // F
47 비교연산자
==
!=
>
<
>=
<=
cmp1 = 1 <= 2 < 3 // T
48 논리연산자
and or not
con1 = True and True //T
con2 = True and False //F
con3 = True or False //T
con4 = not True
if name == 'ann':
print('hi')
52 while
조건으로 반복하기
while 조건:
count = 0
while count < 3:
print(count)
count += 1
53 pythontutor.com
first forward 활용 디버깅 대박?
54 continue 넘어가기
count = 0
while count < 5:
count += 1
if count % 2 == 1:
continue //바로 다시 조건문인 while문으로 돌아감
print(count)
55 break 반복문 종료
while True:
name = input('이름')
if name == '종료':
print('오케')
break
print('{}님 hi'.format(name))
56 입력받기 input() 내장함수
문자열로 받아온다 모두. 바로 아래 57 str 참고 type()
name = input('이름 입력')
print('안녕 {}'.format(name))
input() 하면 그냥 입력하길 기다리는것~
57 type()
자료형 확인 함수
name = input()
print('안녕 {}'.format(name))
print(type(name))
=>
dd
안녕 dd
<class 'str'>
58 자료형 바꾸기
age = int(input('나이 입력')) // int로 감싸준다
print('{}살'.format(age - 2))
>>> type(age)
<class 'int'>
>>> type(str(40))
<class 'str'>
>>> float(1)
1.0
>>> int(1.0)
1
>>> list('123')
['1', '2', '3']
>>> m = ['a', 'b'] //리스트이지만
>>> type(m)
<class 'list'>
>>> type(str(m)) //str을 씌어주면
<class 'str'> //['a', 'b'] 얘자체가 문자열인 문자가 됩니다~ (m은 여전히 list임 몬지알지 m = str(m)해야 m이 str되는거고~)
59 딕셔너리
key value
{키:값, ...}
dict = {1: 'a', 2:'b'}
- key로 사용할 수 있는 자료형
값변경x (이뉴터블) ----------------key로 쓰인다
숫자 문자열 튜플(많이사용x)
값변경o (뉴터블)
리스트
- value로 사용할 수 있는 자료형
딕셔너리 리스트 다~ 다다~
60 dict에 값 추가하기
dict = {}
dict[1] = 11
dict[2] = 22
dict['a'] = 1
dict[key] = value
type(dict) => <class 'dict'>
61 dict 값 접근하기, 제거하기
dict[1] //key를 이용해 값 접근 => 11
del dict[key]
62 딕셔너리 메소드
- values()
dict = {'k1':'v1', 'k2':'v2', 'k3':'v3'}
for val in dict.values():
print(val)
그러면 v들만 나옴~
- keys()
- items()
dict = {'k1':'v1', 'k2':'v2', 'k3':'v3'}
for key, val in dict.items(): // 변수가 두 개 필요하겠지용
print(key, val)
63 함수
64 함수 만들기
def 함수이름(인자1, 인자2, ...):
명령
return 결과1, 결과2, ...
인자와 return은 꼭 필요하지 않음
def sum(n1, n2):
return n1 + n2
print(sum(1, 2))
65 함수의 종류
- 내장 함수
- 모듈 함수 : 다른 곳에서 만들어놓은 함수~ 라이브러리~
- 사용자정의 함수
66 함수를 사용하는 이유
67 여러 개 돌려주기
def sum_mul(n1, n2):
return n1 + n2, n1 * n2
s, m = sum_mul(2, 3) // 언패킹
print(s)
print(m)
그런데 파이썬에선 결과값이 하나.
result = sum_mul(2, 3)
result = (5, 6) //튜플이네!!! 패킹이 된 튜플이 단 하나의 값으로 전달된 것이다!
type(result) => tuple!
68 독스트링 Docstring //문서화문자열? 문서와문자열
주로 코드 설명할 때?
def sum_mul(n1, n2):
"""입력값을 더하고 곱합니다.""" <-------------이거~
return n1 + n2, n1 * n2
69 모듈
비슷한 함수 모아둔 함수 import하여 사용!
누군가가 미리 만들어놓은 함수 쓰자~
70 random 모듈
- .choice() //랜덤으로 하나 선택한다~
import random
fruits = ['apple', 'banana']
my_f = random.choice(fruits)
print(my_f)
- .sample() //몇개의값을 중복없이 선택해줘~
import random
f = ['apple', 'banana', 'lemon']
my_f = random.sample(f, 2)
print(my_f)
- .randint()
import random
my_int = random.randint(0, 2) //0, 1, 2 중 하나! 2도 포함임
print(my_int)
필요한 모듈을 이렇게 가져와서 쓰면 된다~ 구글 최고
71 객체 // 마지막><
프로그래밍은 현실문제를 해결하기 위한 것.
'Development > Python' 카테고리의 다른 글
[Python] [중급] 파이썬 예제 뽀개기 | 김왼손의 왼손코딩 (0) | 2019.02.07 |
---|---|
[Python] Repl.it - if/else/for문/print() (0) | 2019.01.16 |
[Python] Repl.It - 입출력/나누기/올림/내림/math module (0) | 2019.01.16 |