일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- topdown
- euler
- jQuery
- wsl
- 종속변수
- vsCode
- click
- Quaternion
- 도린이
- setItem
- Event
- 코딩
- PYTHON
- 연습
- 독립변수
- 도트
- intervals
- Lerp
- 픽셀
- addEventListener
- 회전
- 탑다운
- 웹스크래핑
- getItem
- Unity
- javascript
- 자주 사용하는 Quaternion 함수
- 2D
- classList
- className
- Today
- Total
쫑가 과정
Python 기초 이론 박살내기! 본문
목차
[python] [variable] [sequence type] 1.list 2.tuple 3.dictionary [functions] 1.bulit-in 2.creating python 3.return 4.argument 5.if -else, elif 6.for in [module]
Python?
세계에서 인기 있는 프로그래밍 언어 중 하나
1. 초보자 이해하기 아주 쉬운데 전문가도 계속 파이썬 사용
자동화, 데이터 얻고 정리, 도큐먼트 압축
데이터베이스 migrate, 유튜브 비디오 다운
오디오 압축 이미지 폴더 옮길 때
등 아주 많이 사용 가능
Google, dropbox, Youtube, Reddit, NASA 등 다 파이썬 사용
2. 아름다움과 강력함 사이의 조화가 좋아
읽기 굉장히 쉽게 생겼다
파이썬 커뮤니티가 아주 잘 되어있다.
다양한 분야 사람들이 모두 파이썬 커뮤니티에 온다.
그 분야 코드들을 다 읽을 수 있다.
파이썬을 배우면 모든 옵션이 가능하다
variable(변수)
수학에서 배운 것과 아주 비슷하다.
1. 변수에 저장할 수 있는 타입
#정수 = integer(int)
print(type(111))
#문자 = string(str) of text
print(type("문자"))
#참거짓 = boolean(bool) / True(1) or False(0)
#(0은 꺼짐, 1은 켜짐, 코딩할 때 0을 제외한 모든 정수는 True)
print(type(True))
#소수= float
print(type(11.1))
#존재하지않음 = None(NoneType)
print(type(None))
------------------
class 'int'
class 'str'
class 'bool'
class 'float'
class 'NoneType'
2. 변수를 길게 지어야 할 때
Python 사용자들의 암묵적인 약속
단어 사이에 _ = snake case
super_long_variable
Sequence Type
열거형 타입
1. list
많은 값을 하나의 list에 저장한다.
대괄호[]로 묶어주고 하나씩 ""(string)을 해준다.
a = ["월", "화", "수", "목"]
print(type(a))
print(a)
------------------------------
<class 'list'>
['월', '화', '수', '목']
- 사용법
https://docs.python.org/3/library/stdtypes.html#list
리스트는 공통과 변할 수 있는 배열 활동들을 모두 시행할 수 있다.
(Lists implement all of the common and mutable sequence operations)
1. common sequence
https://docs.python.org/3/library/stdtypes.html#typesseq-common
x = 값
s = sequence
a = ["월", "화", "수", "목"]
print("수" in a)
a = ["월", "화", "수", "목"]
print("금" in a)
-----------------------------
True
False
i = index로 원하는 값을 얻게 해 줌
a = ["월", "화", "수", "목"]
print(a[3])
#index는 0부터 시작, 0부터 카운트
print(a[0])
-------------------------------
목
월
2. mutable sequence
변할 수 있는!
https://docs.python.org/3/library/stdtypes.html#typesseq-mutable
a = ["월", "화", "수", "목"]
print(a)
a.append("금")
print(a)
------------------------------
['월', '화', '수', '목']
['월', '화', '수', '목', '금']
2. tuple
수정 불가능
괄호()로 묶어주고 하나씩 ""(string)을 해준다.
a = ("월", "화", "수", "목")
print(type(a))
print(a)
-----------------------------
<class 'tuple'>
['월', '화', '수', '목']
- 사용법
https://docs.python.org/3/library/stdtypes.html#tuple
튜플은 공통 배열 활동들만 모두 시행할 수 있다.
(Tuples implement all of the common sequence operations.)
Dictionary(dicts)
사전이란 뜻처럼 하나로 묶어주는 역할
중괄호{} 사용 / =(equal) -> :(colon) 사용
하나씩 ""(string)해줄 것
행 넘어갈 때 , (comma)
https://docs.python.org/3/library/stdtypes.html#mapping-types-dict
name = "Dalbong"
age = 1
KoreanShortHair = True
fav_food = ["Boreal", "tiger"]
#매우 안좋은 방식
#왜냐하면 흩어져있는 변수들이기때문
#dictionary로 묶어준다.
dalbong = {
"name": "Dalbong",
"age": 1,
"KoreanShortHair": True,
"fav_food": ["Boreal", "tiger"]
}
print(dalbong)
print(dalbong["name"])
dalbong["handsome"] = True
print(dalbong)
---------------------------------------
{'name': 'Dalbong', 'age': 1, 'KoreanShortHair': True, 'fav_food': ['Boreal', 'tiger']}
Dalbong
{'name': 'Dalbong', 'age': 1, 'KoreanShortHair': True, 'fav_food': ['Boreal', 'tiger'], 'handsome': True}
Functions
어떤 행동을 가지고 있고 계속 반복해서 사용할 수 있는 것.
1. bulit-in functions
기본적으로 사용할 수 있는 함수들.
print(), type() 등
https://docs.python.org/3/library/functions.html
ex)
print(len("abcdefgh"))
age = "28"
print(age)
print(type(age))
n_age = int(age)
print(n_age)
print(type(n_age))
-------------------
8
28
<class 'str'>
28
<class 'int'>
2. creating python Function
파이썬에서는 function을 만든다고 하지 않고 define(정의, def)한다고 한다.
def say_ho():
#tap키로 들여쓰기해 function의 안이라는걸 표시
#python은 들여쓰기로 function의 시작과 끝을 판단.
print("sayhooo")
print("hooh")
say_ho()
say_ho()
say_ho()
def say_ho(who):
print("sayhooo", who)
say_ho("Dalbong")
say_ho(True)
def say_ho(name="jong"):
print("sayhooo", name)
say_ho()
say-ho("Dalbong")
----------------------
sayhooo
hooh
sayhooo
hooh
sayhooo
hooh
sayhooo Dalbong
sayhooo True
sayhooo jong
sayhoo Dalbong
3. return
결과를 얻고 그 결과를 변수에 저장하길 원할 때
print 대신 return을 사용한다.
#return을 해서 function의 밖으로 돌려보낸다.
def p_plus(a, b):
print(a + b)
def r_plus(a, b):
return a + b
p_result = p_plus(1, 4)
r_result = r_plus(1, 4)
print(p_result, r_result)
------------------------------
5
(None, 5)
r_plus(1, 4)는 return 1 + 4를 호출하고
그 값(5)은 r_plus(1, 4) 자리에 치환되고 저장된다.
이해가 안 된다면 더보기
return부분을 print로 바꿔서 살펴보면 이해하기 쉽다.
print()는 출력을 해버리고 끝나는 function
p_plus(1, 4)가 p_plus(a, b)에 들어가 print(1 + 4)를 뽑아낸다 (결과값에 5가 나온 부분)
return과 달리 print는 저장되지 않기에 결과가 나오고 없어진다.
p_result = None이 되는 것
def p_plus(a, b):
print(a + b)
def r_plus(a, b):
print(a + b)
p_result = p_plus(1, 4)
r_result = r_plus(1, 4)
print(p_result, r_result)
-------------------------
5
5
None None
#return은 function을 종료한다.
def r_plus(a, b):
return a + b
print("asdfasdfgasdf",True)
r_result = r_plus(2, 3)
print(r_result)
-------------------------
5
return밑에 print는 출력되지 않았음
왜냐하면 return 하는 순간 그 function이 종료됨
한 번에 하나의 값만 return 할 수 있다.
4. Positional Argument (위치 인자)
위치(순서)에 따라 값이 정해진다.
#1. 연산자를 이용해 알아보자
def plus(a, b):
print(a + b)
#b=0 이런걸 default value
#자리가 비어있는데 지정해주지 않으면 error
def minus(a,b=0):
print(a-b)
#5는 a, 7은b에 대입된다.
plus(5,7)
minus(5)
#2. string을 이용해 알아보자
def say_ho(name, age):
#string안에 변수를 넣고 싶다면
#string앞에 f(fomal)를 붙이고 변수를 대괄호{}로 감싼다.
return f"yoho {name} you are {age} years old"
ho = say_ho("Dalbong", "1")
print(ho)
--------------------------
12
5
yoho Dalbong you are 1 years old
위치에 의존적인 인자
첫 번째 위치(5)가 a, 두 번째 위치(7)가 b에 들어간다.
#b=0 이런 걸 default value
자리가 비어있는데 지정해주지 않으면 error
#string안에 변수를 넣고 싶다면
string앞에 f(formal)를 붙이고 변수를 대괄호{}로 감싼다.
5. keywored Argument
argument의 이름으로 짝을 맞춘다.
위치와 상관없이 이름에 따라 결정
순서를 신경 쓸 필요 없다는 장점
argument가 많을수록 위치 인자를 사용하기 힘들다.
그래서 이름 인자가 더 많이 사용됨
#1. 연산자를 이용해 알아보자
def minus(a,b):
print(a-b)
minus(b=5, a=7)
#2. string을 이용해 알아보자
def say_ho(name, age, are_from, fav_food):
return f"yoho {name} you are {age} years old, you are from {are_from} you like {fav_food}!"
ho = say_ho(are_from = "street", fav_food = "boreal", name = "Dalbong", age = "1")
print(ho)
-----------------------------
2
yoho Dalbong you are 1 years old, you are from street you like boreal!
6. if -else, elif
조건문
만약(if) ~라면 something 아니라면(else) something
조건문 추가할 때는 elif를 사용한다.
if = True 면 if 밑 print 출력
if = False -> elif = True 면 elif 밑 print 출력
if = False -> elif = False -> else 밑 print 출력
def age_check(age):
print(f"you are {age}")
if age < 18:
print("you cant drink")
elif age == 18 or age == 19:
print("you ate new to this!")
elif age > 20 and age < 25:
print("you are still kind of young")
else:
print("enjoy your drink")
age_check(23)
age_check(19)
age_check(17)
age_check(30)
-----------------
you are 23
you are still kind of young
you are 19
you ate new to this!
you are 17
you cant drink
you are 30
enjoy your drink
https://docs.python.org/3/library/stdtypes.html#comparisons
7. for x(변수) in seqence
seqence 배열을 순차적으로 변수에 대입한다.
https://docs.python.org/3/tutorial/controlflow.html#for-statements
days = ("Mon", "Tue", "Wed", "Thu", "Fri")
#for x(변수) in Sequence(days):
for potato in days:
print(potato)
#순차적으로 변수 대입
#print("Mon"), print("Tue") ... print("Fri")
#for loop를 멈춰야한다면
#if문을 사용해서 멈춰준다.
for day in days:
if day is "Wed":
break
else:
print(day)
----------------------------
Mon
Tue
Wed
Thu
Fri
Mon
Tue
Modules
기능의 집합
프로그램에 import해서 사용할 수 있다.
편리하게 쓰일 수 있는 수학 기능으로 알아보자.
기본으로 제공되는 module이라 따로 설치할 필요가 없다.
https://docs.python.org/3/library/math.html
ex)
import시 주의해야할 사항
import math를 하면 math기능들을 다 가져오는데
사용하지 않는 것들도 있어서 비효율적
쓸것만 import하는게 좋다
ex) from math import ceil, fsum
import math
print(math.ceil(1.2))
#math를 모두 import하는 건 비효율적
from math import ceil, fsum
print(ceil(1.2))
print(fsum([1, 2, 3, 4, 5]))
#이름을 변경해서 사용할 수 있다.
from math import fsum as good_sum
print(good_sum([1, 2, 3, 4, 5]))
-----------------------------------
2
2
15.0
15.0
다른 파일에서 정의된 기능을 import해서 사용할 수 있다.
#만약 AAA.py 파일을 새로 만들어 다음과 같이 정의한다면
def plus(a, b):
return a + b
def minus(a, b):
return a - b
#다른 파일에서 import해 AAA.py에서 정의한 것을 불러올 수 있다.
#불러올 때는 .py를 붙이지 않아도 된다.
from AAA import plus, minus
print(plus(1,2), minus(1,2))
------------------------------------
3 -1
끝
'프로그래밍 공부 > 파이선_정보취합하기' 카테고리의 다른 글
마치고. (2) | 2021.05.28 |
---|---|
4주차 - wsl에서 selenium 인스타 정보 엑셀수집하기 (0) | 2021.05.28 |
3주차 - 쿠팡 정보를 엑셀로 만들기 (0) | 2021.05.20 |
7가지 연산자를 이용한 계산 실습 (0) | 2021.05.17 |
2주차 연습 - 쿠팡 웹스크래핑 (2) | 2021.05.13 |
2주차_쇼핑페이지 크롤링하기(X) (1) | 2021.05.04 |
1주차_윈도우 Visual Studio Code에 가상환경 설정! (0) | 2021.04.29 |
0. 코딩 (0) | 2021.04.22 |