기본적으로요청하는곳이 클라이언트 
요청응답하는곳이  서버
서버3대장에는
장고/플라스크/fastAPI

프로젝트는 기본

프런트는 플라스크로

백앤드는 restAPI로 

장고 : 프레임워크(일정한 틀이 있음)
플라스크 : 라이브러리(필요한거 그때그때 가져와서 짜깁기) ---차이점은 면접질문 할 수도 있으니 참고
fastAPI : 요새나오아이 빨라요..

 

장고랑 플라스크비교 위주로

 

장고 : 일정한 틀이 있음, 처음에 쓰기 어려우나 틀만 익히면 사용하기 쉽다

플라스크:  자유도가 높음, 허나 틀이 없기때문에 처음부터 끝까지 본인이 만들어야 함 

 

 

플라스크

Jinja2 템플릿 엔진에 기반을 둠 (자바의 jsp같은거) +Werkzeug 

 

개발환경구축(cmd관리자권한으로 실행하기 )

가상환경만들기

>cd C:\Users\Kosmo\anaconda3\Scripts

:파이썬 버전 확인
>python --version

:가상환경 생성 
>conda create -n[ame] 가상환경명 설치할 패키지

ex)conda create -n crawling python=3.5

 

 

Flask 템플릿파일은 .html을 사용하고 템플릿 엔진은 jinja2

.html파일은 기본적으로 app.py가 실행되는 같은 위치에 templates 폴더에서 찾는다.

(단 app =Flask(__name__,template_folder='임의의 폴더명')코드로  templates폴더명 변경가능)

템플릿 파일인 .html파일을 templates폴더에 저장

 

======02/10 app1. app2 파일참고

get,post 요청  보내고 받기 

'학원 > PYTHON' 카테고리의 다른 글

01/30 [PYTHON] NumberType  (0) 2023.01.30
01/30 [PYTHON] variable2  (0) 2023.01.30
01/27 [PYTHON] variable1  (0) 2023.01.29
01/27 [PYTHON] 환경설정  (0) 2023.01.29

 

[NumberType1]

 

요건 중복코딩을 막기위해 메소드 하나 만든 거!!!

def pprint(value):
    print('value:',value,sep='',end=',')
    print('type:',type(value),sep='')

정수형(int)은 소수점이 없는 숫자를 의미

a=100;
pprint(a)  #결과 value:100,type:<class 'int'>

 

파이썬3에서는 정수/ 정수 = 실수임

b=10/5
pprint(b)  #결과 value:2.0,type:<class 'float'>

 

int()함수 : 정수로 변환하는 함수 - 소수점 이하 버림

c=int(b)
pprint(c)  #결과 value:2,type:<class 'int'>

 

**정수는 10진수 이외에도 2진수 8진수, 16진수로 표현가능
2진수: 숫자 앞에 0b(B)를 붙이며 0과 1을 사용.
8진수: 숫자 앞에 0o(O)를 붙이며 0부터 7까지 사용.
16진수: 숫자 앞에 0x(X) 붙이며 0부터 9, A부터 F까지 사용(소문자 a부터 f도 가능).

print('[각 진수로 숫자 표현하기]')
print('2진수:',0b10) # 1*2^1+0*2^0 = 2+0
print('8진수:',0o10)
print('16진수:',0x10)

 

int타입의 숫자는 크기에 제한이 없다. 즉 아무리 큰 정수라도 표현 할 수 있다.
파이썬3에서 int형으로 통합(long형이 없어졌네)

d=26516512165456564654656521 # 다 찍힘!!
pprint(d)

실수형(float)은 소수점이 있는 숫자를 의미
실수와 정수의  연산결과는 실수이다!

a=10
b=3.5
pprint(a+b)

 

 

print('[0.1+0.2 연산결과:0.3이 아니다]')
a=0.1
b=0.2
print(a+b) #0.30000000000000004
print(a+b == 0.3)  #False  부동소수점 오류!

 

 

정수를 실수로 변환하기

pprint(float(1+2))  #결과 value:3.0,type:<class 'float'>

 

 


[NumberType2]

import sys,math  #얜 모듈
from decimal import Decimal #얜 클래스

 

파이썬은 부동 소수점 방식으로 실수를 표현하는 데
고정 소수점 방식보다 넓은범위의 수를나타낼 수 있어
과학계산등등 많이  이용하나 근삿값으로 표현
단, 고정 소수점 방식보다 연산속도가 느리다

a=0.1
b=0.2

실수를 근삿값으로 표현하면서 발생하는 문제를 부동소수점 반올림 오차 라고 함
따라서 실수를 비교할 때는 연산한 값과 비교할값의 차이를 구한 뒤
sys.flat_info.epsilon(모듈에 있대..)보다 작거나 같은지 판단해야 한다. 

print(a+b== 0.3)  #false당연한거고
print('[부동 소수점 반올림 오차 해결방법1]')

 

 

2.220446049250313e-16(sys.flat_info.epsilon)값을
머신 앱실론...이라고 함 이건 또 뭐냐???
어마어마하게 작은 값을 뜻함
얘랑 비교해서 작거나 같다면 두 실수는 같은 값이라고 치는거

print(sys.float_info.epsilon)
print(math.fabs(a+b - 0.3)<= sys.float_info.epsilon )  #True가 나왔다? 걍 0.3이랑 같다고 하자! 오차가 너무 작으니까 !
#파이썬 3.5이상 부터는 두 실수가 같은지 판단할 때 math.isclose 함수를 사용.
print('[부동 소수점 반올림 오차 해결방법2]')
print(math.isclose(a+b,0.3))  #True

 

print('[부동 소수점 반올림 오차 해결방법3]')
#Decimal모듈의 Decimal로 고정 소수점으로 변환
#고정 소수점은 부동소수점 처럼 반올림 오차가 없다
print(Decimal('0.1')+Decimal('0.2') == Decimal('0.3')) #True

'학원 > PYTHON' 카테고리의 다른 글

02.10 [Flastk] 시작  (0) 2023.02.10
01/30 [PYTHON] variable2  (0) 2023.01.30
01/27 [PYTHON] variable1  (0) 2023.01.29
01/27 [PYTHON] 환경설정  (0) 2023.01.29

파이썬은 뭐 설치 안해도 import가 잘 된다고 함.

우선 사용하고 천천히익히자

import sys   #걍 우선 써 파이썬은 변수가 모두 객체래.. 뭐죠
print(sys.getrefcount(2023))  #결과 3  어딘가에서 총 3번 참조했다는 뜻 (getrefcount가 참조한 횟수를 나타냄)

 

x=2023
print(sys.getrefcount(2023))  #결과 4 ??  x가 어딘가에서 만들어 졌고 그게 또 2023을 한 번 더 참조해서 4가 됨!
y=2023
print(sys.getrefcount(2023))   ==> 얜 그래서 결과가 5임

 

print(sys.getrefcount(1))    #1000000047 어마어마한 숫자! 많이 참조했군


#is 연산자 : 객체가 같은 "타입"인지 판단하는 연산자. (=instance of 랑 비슷)

print(x is y)  # 결과 true

 

'학원 > PYTHON' 카테고리의 다른 글

02.10 [Flastk] 시작  (0) 2023.02.10
01/30 [PYTHON] NumberType  (0) 2023.01.30
01/27 [PYTHON] variable1  (0) 2023.01.29
01/27 [PYTHON] 환경설정  (0) 2023.01.29

[변수 선언 방법]

첫 날은 간단하게 변수 선언하는 방법 4가지와 변수 삭제하는 법을 배우고 끝

여기선 주석달 때 #를 이용한다.

System.out.println()이나 console.log() 같은 아이는 print() 를 이용 함

아무튼 조금 다른것들을 얼른 익히도록 해보자

 

 변수 선언 방법1. 변수명 = 데이터

a = 10
print(a)
print(type(a))  # type(변수 혹은 값):자료형 반환<class 'int'>
print(a,type(a),sep=',') #한 줄로 출력하는 방법!

파이선은 기본적으로 단위가 class라고 한다!!

 

 

변수 선언 방법2. 변수명1,변수명2,변수명3,, = 반복가능한 객체 (이터레이터)
이터레이터(이건 나중에 천천히 배울 거)의 요소를 여러 변수에 나눠 담는 것을 '언패딩' 또는 '구조분해'라고 함
변수명1,변수명2,변수명3 = 데이터1,데이터2,데이터3 혹은 (데이터1,데이터2,데이터3)

a,b,c = '파이썬',"10",20  #('파이썬',"10",20) 원래는 이렇게 써야 한대
print('a의값:%s,a의 자료형:%s' %(a,type(a)))
print('b의값:%s,b의 자료형:%s' %(b,type(b)))
print('c의값:%s,c의 자료형:%s' %(c,type(c)))

 

 


변수 선언 방법3. 변수명 = 반복가능한 객체 (이터레이터)
여러 개의 데이터를 이터레이터를 이용해 하나의 변수에 묶어 담는 것을 '패킹' 이라고 함
변수명 =  데이터1,데이터2,데이터3 혹은 (데이터1,데이터2,데이터3)

d=10,'20','파이썬'  # (10,'20','파이썬')즉 int,str,str 객체를 튜플(괄호를 의미 함)로 묶어서 변수 d에 저장
print('d의값:%s,d의 자료형:%s' %(d,type(d)))

 

 

 

변수 선언 방법4. 변수명1 = None

z  # NameError : 변수선언안되서 에러남
z = None
print('z의값:%s,z의 자료형:%s' %(z,type(z)))

오호 NoneType이라는게 여긴 있구나 이게 null과 같은 의미겠지

 


++  치환하기

자바에서는 제 3의변수를 이용해서 값을 변수에 담고 옮기고 했는데

파이선은 걍 바로 바꾸면 됨... 와우!

x,y = 10,20
print('x=',x,'y=',y,sep='')
y,x = x,y
print('x=',x,'y=',y,sep='')

쟈쟌!! 걍 바뀜!

 

++ 당연한 것 이지만 키워드들은 변수로 사용 할 수 없다!

import keyword
print(keyword.kwlist)  #키워드들이 나옴

 

출력하면 나오는 키워드들임 많은거 같지만 생각보다 적음 오오오!

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue',

 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 

'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

#elif = 10  # 키워드를 변수로 사용 할 수 없음 SyntaxError: invalid syntax

 

++ 변수 삭제하기

del x  #혹은 del(x)
#print(x)  #변수가 이미 삭제 됨 ! NameError: name 'x' is not defined

 

'학원 > PYTHON' 카테고리의 다른 글

02.10 [Flastk] 시작  (0) 2023.02.10
01/30 [PYTHON] NumberType  (0) 2023.01.30
01/30 [PYTHON] variable2  (0) 2023.01.30
01/27 [PYTHON] 환경설정  (0) 2023.01.29

안드로이드는 비록 망했지만...

파이썬부터라도 다시 정리를 시도해 봐야지

팀플하면서 정리해 놓은 블로그의 힘이 얼마나 큰 지 절실히 느꼈다

그래서 정리를 포기할 수가 없어졌다.... 

파이썬은 생각보다 환경설정이 간편해서 너무너무너무 좋음!!

그리고 파이썬은 다른 언어보다는 쉽다고 선생님이 그러셨으니

이번엔 하나도 놓치지 말고 소화시켜보기를 바라보겠음

아무튼 

환경설정하는건 간단하게만 하고 넘어갈거임

 

 https://www.python.org/ 사이트에서 다운로드

 

 따로 설정 할 건 없고 istall 하고 거의 마지막에  체크하는 것만 왼쪽에 3개 체크하면 

끝!

 

※설치 시 아래경로에 설치된다.

 <64비트인 경우>
        C:\Users\<사용자이름>\AppData\Local\Programs\Python\Python36\
        위 경로에 파이썬 인터프리터가 설치돠고 하위 디렉토리인 Scripts\ 에
        pip프로그램이 설치된다.

 

내가 맨날 무서워서 벌벌 떨던 cmd 창에서도 아주쉽게 확인이 가능함!

하지만

cmd창에서 작업을 할 순 없기에

도구(?) 격인 파이참을 설치한다

요놈 비주얼스튜디오코드를 만든 회사에서 만든 놈이라

외관이 비슷한게

아주 맘에 들었다

요놈! 유료로 유도하지만 걸려들지 않는다.&nbsp; 왼쪽 걸로 클릭한다 !

 

마지막으로 작업할 수 있는 환경만 만들면 끝!!

 

파이썬 들어가기를 손꼽아 기다렸는데(안드로이드가 끝나기를 기다린게 절 대 아님)

아주 기대가 된다 !! 두근두근두

'학원 > PYTHON' 카테고리의 다른 글

02.10 [Flastk] 시작  (0) 2023.02.10
01/30 [PYTHON] NumberType  (0) 2023.01.30
01/30 [PYTHON] variable2  (0) 2023.01.30
01/27 [PYTHON] variable1  (0) 2023.01.29

+ Recent posts