Python: 127개의 글

| Anaconda3 설치하기 Anaconda3를 설치하면 자동적으로 Jupyter Notebook이 설치됩니다. Anaconda3 설치법은 아래 링크를 참조하시면 됩니다. | Jupyter Notebook 실행하기 Window 메뉴에 보면 자동적으로 Jupyter Notebook이 설치되어 있습니다. 클릭하게 되면 Jupyter Notebook 애플리케이션이 실행되면서 웹브라우져 상으로 Jupyter Notebook을 이용할 수 있게 됩니다. 오른쪽 상단 위의 Python3를 클릭하시면 Jupyter Notebook에서 python을 이용할 수 있습니다. Markdown언어로 세팅하고 Run을 누르면 Jupyer라는 글자가 Jupyter Notebook 상단에 나타나게 됩니다. 다음 Code로 설정한 ..

| 패키지 설치 방법 File에 Settings를 누릅니다 Settings를 누르면 위 창이 나타납니다. 현재는 PyCharm에서 pip라는 install packages tool이 설치가 안 된상태여서 add 버튼인 + 가 비활성화 되어있습니다. 해당 설치 툴이 설치되지 않았으면 위와 같은 알림창이 뜹니다. 저 파란 글씨를 눌러 설치를 합니다. 설치가 완료되면 pip 패키지툴이 생성됩니다. 오른쪽 각 버튼의 이미는 다음과 같습니다. + : 패키지를 설치하는 버튼 - : 패키지를 삭제하는 버튼 ▲ : 패키지를 업데이트 하는 버튼 상황에 맞게 각 버튼을 사용하시면 되겠습니다. 여기서는 + 버튼을 눌러 패키지를 설치하는 작업을 하겠습니다. 크롤링에 필요한 패키지인 requests를 설치하도록 하겠습니다. 상..

데코레이터(Decorator)란 파이썬에서 기존 코드에 여러가지 기능을 추가하는 파이썬 함수 표현입니다. 좀 더 정확하게 말하면 기존에 정의된 함수의 기능을 확장할 수 있게 해주는 함수죠. 파이썬 함수는 First class function이기 때문에 다음과 같은 특징을 가집니다. 1. 변수에 할당할 수 있다. 2. 다른 함수내에서 정의될 수 있다. 3. 함수의 인자로 전달할 수 있다. 4. 함수의 반환값이 될 수 있다. 데코레이터는 이러한 파이썬 함수의 성질을 기반으로 기존 함수의 기능을 추가하고 새로운 함수를 만드는 역할을 합니다. 출처: https://engkimbs.tistory.com/386?category=688857 [새로비]

클로저(Closure)란 파이썬같이 퍼스트 클래스 함수를 지원하는 네임 바인딩 기술입니다. 여기서 퍼스트 클래스 함수란 프로그래밍 상에서 1.기본 데이터형 타입같이 결과를 반환할 수 있고 2.변수에 값을 할당 가능하며 3.함수의 인자로 넣을 수 있는 기능 을 제공받는 함수를 뜻합니다. 파이썬에서 프리변수에 함수가 할당되게 되면 이 변수는 클로져를 통해 할당된 함수의 정보를 저장합니다. 그리고 프로그래머는 이 바인딩된 변수를 통해 할당된 함수에 접근할 수 있게 되죠. 출처: https://engkimbs.tistory.com/385?category=688857 [새로비]

lambda는 익명 함수로 함수를 간단하게 정의하는 데 쓰입니다. C++에서의 labmda 함수는 상당히 복잡한 구문을 가졌는 데 반해 Python에서는 다음과 같은 형식으로 작성하면 됩니다. lambda 인자 : 표현식 C++에 (http://engkimbs.tistory.com/62) 비교하면 너무나도 간단한 식이죠! 이게 바로 Python의 매력이 아닌가 싶습니다. 이러한 차이는 C++과 Python이 지향하는 바가 달라서 그렇습니다만 일단 'Python이 정말 간단하구나!'라고 생각하고 넘어가죠. 아래의 예는 람다 함수의 예제입니다. print( (lambda x,y: x+y)(10,20) ) 결과 30 map과 함께 써서 원하는 값들이 들어 있는 리스트를 뽑아내는 데도 사용됩니다. 여기서 map..

Python의 generator라는 것은 간단하게 말하면 iterator를 생성해주는 함수입니다. Python에서 iterator는 next()메소드를 이용해 데이터에 순차적으로 접근이 가능한 오브젝트죠. generator는 일반적인 함수와 비슷하지만 함수 안에 yield란 키워드를 작성하여 next()가 호출될 때마다 다음 데이터의 값을 반환한다는 것이 가장 큰 차이점입니다. def gen(n): i = 0 test = ['a', 'b', 'c'] while i < n: print("This turn:", test[i]) yield test[i] i = (i + 1)%3 sample = gen(6) for i in range(6): print(next(sample)) 위의 코드를 보면 gen라는 함수를..

print 출력 함수를 쓸 시 소수점 이하 자리수를 나타내기 위해서는 다음과 같이 코드를 작성하면 됩니다. num = 1.23456789 print('%.10f' % num) 출력 1.2345678900 출처: https://engkimbs.tistory.com/19?category=688857 [새로비]
이전 scrapy에 대한 소개와 아키텍처에 대한 글과 이어지는 내용입니다~ [Python/Python 프로그래밍] - 파이썬 웹 스크래핑할 때 이거 쓰세요. 최고의 파이썬 웹 스크래핑 솔루션 scrapy window에서 anaoncda를 통해 scrapy를 설치했을 때 계속 실행 오류가 뜨시면 일반 Python 공식 사이트에서 배포하는 Python 프로그램을 설치하여 Scrapy를 설치하세요! 저도 최근 anaconda를 설치해서 scrapy를 진행했었는데 계속 오류가 나서 Python으로 다시 진행했더니 잘 작동됩니다! | scrapy 설치 scrapy를 설치하기 위해서는 pip 패키지 매니져를 이용할 때는 다음과 같은 명령어를 입력하시면 됩니다. (이때, python이 설치된 디렉터리를 경로가 환경변..

| selenium(셀레늄)이란 selenium은 주로 웹앱을 테스트하는 웹 프레임워크입니다. 또한 webdriver의 API를 통해 브라우저를 제어하기 때문에 자바스크립트에 의해 동적으로 생성되는 사이트의 데이터를 크롤링할 때 매우 유용하게 사용되는 스크래핑 도구입니다. | selenium 사용법 selenium은 크롬이나 파이어폭스같은 각 브라우져의 webdriver API를 통해 브라우져를 제어합니다. 따라서 자신이 쓰고자 하는 브라우져의 driver를 다운로드받아서 Java나 C#, Python 같은 프로그래밍 언어를 통해 제어하는 것이 일반적입니다. 여기서는 크롬을 기준으로 사용법을 설명할 예정입니다. driver를 다운로드 받을 수 있는 곳은 아래와 같습니다. 여기서 주의해야 할 점은 크롬 브..
보통 보안 인프라가 갖추어져 있는 회사에는 회사 프록시를 통해 외부 인터넷에 접속할 수 있습니다. 하지만 이게 종종 문제가 되는 게 pip, npm 같은 패키지 매니져를 통해 해당 라이브러리가 제대로 다운로드 되지 않는 문제가 발생합니다...... 그 이유는 보통 그 사이트에서 보내온 인증서가 아닌 회사 인증서가 컴퓨터로 전송되기 때문에 그런데요. 저희 회사도 회사 프록시에 있는 인증서가 와서 제대로 pip, npm 같은 패키지 매니져가 제대로 작동하지 않았습니다ㅠㅠ 이럴 때는 1. 해당 패키지 매니져가 요청하는 호스트[ex) pypi.python.org]에 대한 인증서가 패키지 매니져에 등록되어 있거나 2. 해당 URL을 무조건 신뢰하겠다는 옵션을 설정하거나 3. strict-ssl 설정을 false로..