파이썬에서는 일반적으로 urllib, requests, httpslib 등의 모듈을 사용하여 웹 서버와 통신하게 됩니다. 이러한 모듈을 사용하여 SSL/TLS 보안 연결을 설정할 때 신뢰할 수 있는 인증서를 사용해야 합니다. 일반적으로 집이나 보안이 강한 곳이 아닌 경우 문제가 되지 않지만, 회사와 같은 강력한 보안이 되어 있는 네트워크에서 접근 할 경우 SSL 에러가 발생할 수 있습니다. 이를 해결하기 위해서는 5가지 방법이 존재하는데 알아보도록 하겠습니다. 인증서 업데이트 우선 가장 기본적인 해결책으로 SSL 인증서를 업데이트 하는 것입니다. 이미 인증서를 가지고 있지만 만료되었거나 유효하지 않을 경우 SSL 에러가 발생할 수 있는데 이럴 경우 인증서를 업데이트 하는 것으로 문제를 해결할 수 있습니다..
문자열을 내가 원하는 형태로 출력하고 싶을 경우 format 함수를 이용해서 구현할 수 있으며 format 함수는 기능이 크게 2가지가 있다. 첫째 포맷안에 있는 값을 다른 방식으로 출력하고 싶은 경우 (ex: 천단위에 콤마를 붙인다던지) 둘째 %d 처럼 해당 위치에 값을 대입하는 것이다. 값 대입 사용법 중괄호가 포함된 문자열.format(값들) 사용법은 문자열 내부에 중괄호 {}가 존재하며, 문자열 이후 format() 펑션에 중괄호에 맞는 값들을 입력하면 된다. 예시 기본적인 방법 print('숫자 : {}, 실수 : {}'.format(5, 0.5)) # 숫자 : 5, 실수 : 0.5 위와 같이 숫자와 실수를 매우 자유롭게 입력할 수 있다. 인덱스 부여 print('실수 : {1}, 숫자 : {0..
프로그램은 2가지만 잘해도 왠만한 것들은 다 만들 수 있다. 첫째 반복문, 둘째 조건문이다. 반복문은 for문과 while문이며 이는 이전 포스팅에서 설명을 했으니 이제 조건문에 대해서 알아보도록 한다. 조건문이란 어떤 조건을 생성하고 해당 조건이 맞으면 수행하는 문을 말하며 파이썬에서는 if 조건문이 있다. for문, while문과 if 조건문은 모두 제어문에 속하며 제어문은 프로그램의 실행 순서등을 제어하거나 특정 조건일 때 수행할 수 있게 하는 것을 말한다. 사용법 if 조건: 실행문 elif 조건: 실행문 elif 조건: 실행문 ... else: 실행문 사실 조건문은 if만 있는 것이 아니다. while 문에서도 true일 때 loop를 실행하게 되는데 while에서 사용하는 조건과 if에서 사용..
리스트(list)와 튜플(tuple)이 순서가 있는 배열 형태의 자료형이라면 딕셔너리(dictionary)는 키(key)와 값(value)이 쌍으로 있는 자료형입니다. 우리가 사전을 보면 찾는 대상인 주제(ex: 단어)와 내용이 있는 것처럼 딕셔너리는 동일하며 결국 딕셔너리의 목적은 Key로 Value를 찾는 것입니다. 딕셔너리 선언 딕셔너리변수명 = {key1 : value1, key2 : value2 ... keyn : valuen} >>> kor_eng = {'동쪽':'east','서쪽':'west','학생':'student','소년':'boy','소녀':'girl'} >>> kor_eng {'동쪽': 'east', '서쪽': 'west', '학생': 'student', '소년': 'boy', '소..
Input 함수 파이썬에서는 단 하나 input이라는 메소드를 호출함으로써 값의 입력을 받는 단계를 모두 끝낼 수 있다. 자바에서 사용하는 Scanner도 복잡한 것은 아니지만 이렇게 쉽게 만드는 것은 어떨까라는 아쉬움이 있다. 사실 가장 큰 이유는 Python은 변수를 특정 타입으로 선언할 필요가 없어서 모든 처리들이 심플해진다. 변수 = input("메세지...") 위와 같이 input 이후 메세지를 입력하면, 메세지가 나오고 값을 입력 받을 수 있다. 그리고 그 값은 변수에 저장이 되는데 저 라인이 다이다. 예시를 좀 더 가시적으로 확인해보기 위해서 jupyter에서 실행한 화면을 올려보도록 한다. (소스 코드는 포스팅 하단) Input 예제 (구구단 출력) 위 내용은 input으로 우선 사용자의 ..
While 반복문 다른 언어가 그렇듯 파이썬도 while문을 제공한다. 사용 방법은 while 문 다음에 조건을 넣는 것인데, 이때 해당 조건이 True(참)가 될 경우 loop를 수행한다. While은 for문과 다르게 나갈 수 있는 값이 없으며 직접 그 조건을 입력해야 되기에 for문보다는 잘 사용되지 않는 편이다. While 조건 구문을 이용한 처리 While 문은 우선 loop를 수행한 후 변화한 변수가 조건에 부합하는지 여부를 계속 체크하는 방식이 있다. i = 0 # 변수선언 while i < 5:#조건 print("i는 ", i, "입니다.") i += 1# 증감연산 위 방식의 매커니즘은 다음과 같다. 변수값을 선언한다. (여기서는 i) 현재 변수값을 기준으로 조건을 비교한다 이때 True가..
개발자라면 증감 연산자를 사용해보지 않는 사람이 없을 것이다. C나 Java 개발자라면 ++와 --와 같은 증감 연산자가 너무나도 익숙하다. 하지만 파이썬은 다른 프로그램 언어(Program Language)에서 사용하는 증감 연산자를 제공하지 않는다. 증감연산자 에러 i = 0 print(i++) 이와 같이 매우 간단한 i값하게 i에 1을 증가시키는 증감연산자를 수행해봤는데 아래와 같은 에러가 발생한다. File "D:/Python/example_02.py", line 14 print(i++) ^ SyntaxError: invalid syntax 신택스 에러(SyntaxError)란 구문 오류를 뜻한다. 한마디로 저런 건 파이썬에서 제공하지 않는다는 의미이다. 위치에 따라 에러가 나는지 살피기 위해서 ..
x를 제곱하여 a가 되었다면, x를 a의 제곱근이라고 하는 것은 다 알고 있을 것이다. 이 포스팅을 찾으셨다면 당연히 루트(√)를 몰라서 찾는게 아니라 파이썬에서 어떻게 사용하는지를 알고 싶을 것이다. 기본적인 방법 파이썬에서 기본적으로 루트를 하는 방식은 당연하게도 제곱(**)을 이용한 방식이다. # 2의 루트 print("2의 루트 : ", 2**(1/2)) 2의 루트 : 1.4142135623730951 이와같이 제곱근을 연산하고 싶은 값을 입력하고** (제곱을 수행한 후) (1/2)의 값을 곱한다. 정석적인 제곱근을 구하는 방식이니 누구나 쉽게 이해를 할 것이다. Math 라이브러리 방식 그리고 파이썬에서는 수학 라이브러리인 Math를 이용해서 제곱근을 구할 수도 있다. import math # ..
파이썬(Python)의 사칙 연산들을 위한 기호표 위 표에 있는 내용은 파이썬에서 제공하는 연산 기호들이다. 연산 상세 설명 더하기 연산 숫자 사이 + 를 입력하면 숫자들을 더한다. 빼기 연산 숫자 사이에 -를 입력하면 왼쪽 값에서 오른쪽 값을 뺀 결과를 연산 곱하기 연산 숫자 사이의 *를 입력하면 두 값의 곱 연산 나누기 연산 숫자 사이에 /를 입력하면 왼쪽값을 오른쪽 값으로 나눈 값 연산 나머지 연산 숫자 사이에 %를 입력하면 왼쪽 값을 오른쪽으로 나눈 후 나머지 값 표시 몫 연산 숫자 사이에 //를 입력하면 왼쪽 값을 오른쪽으로 나눈 후 몫 값 표시 제곱 연산 숫자 사이에 **를 입력하면 왼쪽값을 우측값의 횟수만큼 제곱 수행 우선 연산 처리, 소괄호 수학에서 우선 연산을 수행하는 것처럼 파이썬에서도..
비교 연산자 비교 연산자란 주로 조건문에 사용되는 것으로 두 변수의 값을 비교할 때 사용이 된다. 비교 연산자 내용 X == Y X와 Y의 값이 같은 경우 X != Y X와 Y의 값이 다른 경우 X >= Y X가 Y의 값보다 이상(크거나 같은)인 경우 X Y X가 Y의 값보다 초과(큰)인 경우 X =1:",..
소스 원문 첨부파일 내용 하는있는으로을를 위와 같은 조사들을 제거하는 형태소 분석기의 심플 버전을 개발 중이었는데, 첨부파일로 읽어 들이니 잘 작동이 되지 않았다.자바에서는 전혀 문제가 없는 것인데 파이썬에서는 내가 생각하지 못하는 무언가가 있는건지 확인 중 개행 문자가 들어간 것으로 판단하여 아래와 같이 조치하였다. # 조사 데이터 매핑f = codecs.open("josa.dic", "r", "utf-8")while True: line = f.readline() line = line.replace("\n", "") if(len(line) > 0): JOSA_DIC.append(line) if not line: break 그러나, len(line)을 해본 결과 조사의 length가 아래와 같이 출력이 ..