본문 바로가기
스터디/데이터 분석 공부

3 시간만에 끝내는 파이썬 기초 완강

by YOON TONG 2021. 7. 29.
반응형

운동 1시간30분하고 저녁먹고 자리에 앉으니 

너무 피곤해서 강의 조금 들었다가 딴짓하고를 반복했닼ㅋㅋㅋㅋ

사실 그냥 내일들을까하는 잠깐의 유혹은 있었지만,

아무도 보진 않지만 블로그에 하겠다 글을 써놨으니 미루지 않고 완강!! 잘했다 잘했어

파이썬이 어떤걸까 궁금하다면 강의 한번쯤은 들어봐야 하지 않겠나. 

옛날 포켓몬 게임하듯이 명령어 입력하면 문자가 뜨니까 신기하고 흥미로웠다.

실습을 좀 더 해봐야할 것 같은데 내일 찾아봐야지!


 

조건 판단하기

조건의 참/거짓에 따라 흐름 변경

 

논리형

True/False 의 값으로 결정

>>> my_bool1 = True
>>> print(my_bool1)
True
>>> my_bool3 = 1<2
>>> print(my_bool3)
True
>>> my_bool4 = 1 ==2
>>> print(my_bool4)
False

 

비교연산자

==(두값이 같냐)  !=(다르냐? 같으면False로 답)  >, <(부등호)  >=  <= (부등호 크거나같냐)

>>> my_cmp1 = 1 < 2
>>> print(my_cmp1)
True
>>> my_cmp2 = 1 == 2
>>> print(my_cmp2)
False
>>> my_cmp3 = 2 <= 1
>>> print(my_cmp3)
False

 

논리연산자

and  / or / not

>>> my_con1 = True and True
>>> print(my_con1)
True
>>> my_con2 = True and False
>>> print(my_con2)
False
>>> my_con3 = True or False
>>> print(my_con3)
True
>>> my_con4 = not True
>>> print(my_con4)
False



>>> my_con1 = 1 <2 and 2 <3
>>> print(my_con1)
True
>>> my_con2 = 1<2 and 2<1
>>> print(my_con2)
False
>>> my_con3 = 1<2 or 2<1
>>> print(my_con3)
True
>>> my_con4 = not 1 == 1
>>> print(my_con4)
False

 

조건문 if

name = 'Tong'
if name == 'Tong':                                         True일때의 명령문
    print('당신이 Tong이군요')
    print('만나서 반갑구만 반가워요')

elif name == 'Yoon':                                       False일때의 명령문1
    print('당신이 Yoon이군요')

else:                                                            False일때의 명령문2 
    print('당신의 이름은 무엇입니까?')

 

조건으로 반복하기 While

*횟수로 반복하기는 For 

*if 조건문은 일회성이지만, While 조건문은 True상황안에서 계속적으로 반복

count = 0
while count < 3:
    print('횟수:', count)
    count = count + 1            count를 1씩 증가시켜라

==== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/while.py ===
횟수: 0
횟수: 1
횟수: 2
>>> 

 

넘어가기 continue

while(반복 조건문)에서 continue를 만나면 다시 조건문으로 돌아간다

count = 0
while count < 5:
    count = count + 1
    if count % 2 == 1:                    홀수면 continue(넘어가라)
        continue
    print(count)                             짝수면 print(출력해라)


== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/continue.py ==
2
4
>>> 

 

멈추기 break

while True:
    name = input('당신의 이름은?')
    if name == '종료':
        print('종료합니다')
        break                                            무한으로 반복하고 있던 while 조건문 끝
    print('{}님, 안녕!' .format(name))



==== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/break.py ===
당신의 이름은? 왼손
 왼손님, 안녕!
당신의 이름은?호박
호박님, 안녕!
당신의 이름은?무무
무무님, 안녕!
당신의 이름은?종료
종료합니다
>>> 

 

입력받기 input()

>>> name = input('What백슬래시's your name?:')
What's your name?:Bob
>>> print(name)
Bob
>>> name = input()
이에스
>>> print(name)
이에스

 

자료형 확인하기 type()

>>> name = input('이름을 입력하세요:')
이름을 입력하세요:김머시기
>>> print(name)
김머시기
>>> print(type(name))
<class 'str'>
>>> 
>>> 
>>> name = input()
123
>>> print(name)
123
>>> print(type(name))
<class 'str'>                         123이라는 숫자이지만 숫자모양의 문자열을 의미

 

자료형 바꾸기 int() str() ...

>>> age = input('나이를 입력하세요:')
나이를 입력하세요:40
>>> print('{}살 이시군요!' .format(age - 3))
Traceback (most recent call last):
  File "<pyshell#33>", line 1, in <module>
    print('{}살 이시군요!' .format(age - 3))
TypeError: unsupported operand type(s) for -: 'str' and 'int'
>>> age = int(input('나이를 입력하세요:'))                    40이라는 문자열을 숫자열로 바꿔주기
나이를 입력하세요:40
>>> print(type(age))                                                출력하기 전 type으로 형태 확인
<class 'int'>
>>> print('{}살 이시군요!' .format(age-3))
37살 이시군요!
>>> 
>>> 
>>> 
>>> print(40)
40
>>> print(type(40))
<class 'int'>
>>> print(type(str(40)))                                         문자열로 바꿔주기
<class 'str'>
>>> 



>>> print(float(1))
1.0
>>> print(int(1.0))
1
>>> print(list('Lefty'))
['L', 'e', 'f', 't', 'y']
>>> print(str(['a','b','c']))
['a', 'b', 'c']
>>> 

 

재료모으기 2

딕셔너리 

관련정보를 서로 연관시켜놓은 것

{키1: 값1, 키2:값2, ...}

*리스트는 인덱스를 사용하지만, 딕셔너리는 키를 사용해 값에 접근

>>> print(my_dict1)
{1: 1, 2: 2, 3: 3}
>>> 
>>> my_dict2 = {'a':1, 'b':2, 'c':3}
>>> print(my_dict2)
{'a': 1, 'b': 2, 'c': 3}

 

값 추가하기

>>> my_dict = {}
>>> print(my_dict)
{}
>>> print(type(my_dict))
<class 'dict'>
>>> my_dict[1] = 'a'
>>> print(my_dict)
{1: 'a'}
>>> 
>>> 
>>> my_dict['b'] = 2
>>> print(my_dict)
{1: 'a', 'b': 2}
>>> 
>>> 
>>> my_dict['c'] = 'd'
>>> print(my_dict)
{1: 'a', 'b': 2, 'c': 'd'}
>>> 

 

값 접근하기, 제거하기

>>> print(my_dict)
{1: 'a', 'b': 2, 'c': 'd'}
>>> print(my_dict[1])
a
>>> print(my_dict['b'])
2
>>> print(my_dict['c'])
d
>>> 
>>> 
>>> 
>>> print(my_dict)
{1: 'a', 'b': 2, 'c': 'd'}
>>> 
>>> del my_dict[1]                        값 제거하기
>>> print(my_dict)
{'b': 2, 'c': 'd'}
>>> del my_dict['b']
>>> print(my_dict)
{'c': 'd'}
>>> 

 

딕셔너리 메소드 .values()

my_dict = {'k1':'v1', 'k2':'v2'}
for val in my_dict.values():                            values는 값만 추출
    print(val)
=== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/values.py ===
v1
v2




my_dict = {'k1':'v1', 'k2':'v2'}
for key in my_dict.keys():                            .keys()는 키만 추출
    print(key)
=== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/values.py ===
k1
k2




my_dict = {'k1':'v1', 'k2':'v2'}
for key, val in my_dict.items():                         .items()는 키와 값 둘 다 추출
    print(key, val)
=== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/values.py ===
k1 v1
k2 v2

 

 

모아서 다시쓰기

함수 def

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


def my_sum(n1, n2):
    return(n1+n2)
== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/function.py ==
>>> my_sum(1,2)
3

 

함수의 종류

1. 내장함수: 파이썬에서 이미 제공된 함수 input, print, type, int, float, ...

2. 모듈의 함수: 미리 만들어놓은 함수

3. 사용자 정의 함수

 

 

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


def my_sum_mul(n1, n2):
    return n1+n2, n1*n2
== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/function.py ==
>>> s, m = my_sum_mul(2,3)
>>> print(s)
5
>>> print(m)
6
>>> result = my_sum_mul(2,3)
>>> result                                         파이썬은 하나의 결과만 보여줌, result(5,6)의 값은 패킹이 된 튜플이 전달된 것
(5, 6)
>>> print(type(result))
<class 'tuple'>

 

독스트링(Docstring 문서화 문자열)

함수의 역할을 설명해주는 주석. 큰따옴표3개로 사용.

def sum_mul(num1, num2):
    """입력 값을 더하고 곱합니다."""
    return num1 +num2, num1*num2

 

모듈

비슷한 함수를 모아둔 파일.

처음부터 만드는 비효율을 방지하기 위해 미리 만들어져 있는 것. 이를 활용만 하면 됨,

 

대표적인 random 모듈(무작위 추출방식)

.choice()

import random                                       나 이제 random이라는 모듈 쓸거야(import)
fruits = ['apple', 'bananna', 'lemon']
my_fruit = random.choice(fruits)
print(my_fruit)
== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/function.py ==
lemon
>>> 
>>> 
== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/function.py ==
apple
>>> 

.sample()

import random                           
fruits = ['apple', 'bananna', 'lemon']
my_fruit = random.sample(fruits, 2)                           무작위로2개 샘플 추출해줘
print(my_fruit)
= RESTART: C:/Users//AppData/Local/Programs/Python/Python39/function.py ==
['bananna', 'lemon']
>>> 
== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/function.py ==
['lemon', 'apple']

.randint()   정해진 정수범위안에서 무작위추출

import random
my_int = random.randint(0,10)                               0부터 10까지 숫자중에서 숫자 추출해줘
print(my_int) 
== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/function.py ==
10
>>> 
== RESTART: C:/Users/AppData/Local/Programs/Python/Python39/function.py ==
4

 

객체

현실문제를 해결하기 위해 컴퓨터로 들여오는데 그 대상들이 객체가 되는거야.

데이터와 함수(해결방법/행동)를 묶어놓은 것을 지칭.

 

 

반응형

댓글