Python을 처음 접하는 사람으로서 저는 최근 스톡 API로 작업하면서 Python의 기능을 탐색하는 여정을 시작했습니다. 그 과정에서 다음 방법을 배웠습니다.
여기 내 학습 경험과 주요 내용이 요약되어 있습니다!
1. Python 설정
Python의 가상 환경(venv)을 사용하면 프로젝트의 종속성을 격리하여 패키지가 다른 패키지와 충돌하지 않도록 할 수 있습니다. 전문성 개발에 좋습니다.
가상 환경 생성 및 활성화 단계:가상 환경 생성
python -m venv venv
활성화(Mac/Linux)
소스 venv/bin/activate
venvScripts활성화
이렇게 하면 프로젝트 패키지가 다른 패키지와 별도로 유지됩니다.
패키지 관리Python의 패키지 설치 프로그램인 pip를 사용하여 종속성을 관리하는 방법을 배웠습니다.
pip 설치가 python-dotenv를 요청합니다
핍 동결 > 요구사항.txt
pip install -r 요구사항.txt
2. 환경변수
민감한 데이터를 안전하게 유지하기 위해 API 키와 자격 증명에 .env 파일을 사용했습니다.
SCHWAB_CLIENT_ID=my_secret_id
SCHWAB_CLIENT_SECRET=내_비밀_키
from dotenv import load_dotenv
OS 가져오기
load_dotenv() # .env에서 변수 로드
api_key = os.getenv('SCHWAB_CLIENT_ID')
중요: .env 파일을 Git에 커밋하지 마세요. 제외하려면 .gitignore 파일을 사용하세요.
요청 라이브러리를 사용하여 API와 상호작용했습니다.
가져오기 요청
응답 = 요청.get(url, headers=headers, params=params)
response.status_code == 200인 경우:
data = response.json() # 응답을 JSON으로 변환
4. 스키마 이해
API 엔드포인트와 상호작용하기 전에 해당 스키마를 살펴봤습니다. API 스키마는 다음을 알려주는 청사진과 같습니다.
예를 들어 API 엔드포인트가 주가를 검색하는 경우 스키마는 다음과 같을 수 있습니다.
스키마 요청:
{
“기호”: “문자열”,
“날짜”: “문자열(YYYY-MM-DD)”,
'간격': '문자열(예: '1d', '1m')'
}
응답 스키마:
{
“기호”: “문자열”,
“가격”: [
{
“날짜”: “문자열(YYYY-MM-DD)”,
“열다”: “부동”,
“닫기”: “부동”,
“높음”: “부동”,
“낮음”: “부동”,
“볼륨”: “정수”
}
]
}
스키마를 아는 것은 두 가지 면에서 도움이 됩니다.
스키마를 사용하면 API로 작업하는 동안 시간이 절약되고 디버깅이 훨씬 쉬워졌습니다.
5. JSON 작업
API는 종종 JSON 형식으로 데이터를 반환합니다. Python에서 이를 처리하는 방법은 다음과 같습니다.
json 가져오기
open('tokens.json', 'r')을 f:로 사용
데이터 = json.load(f)
open('tokens.json', 'w')을 f:로 사용
json.dump(data, f, indent=4)
6. 오류 처리
Python의 try/제외 블록은 오류를 적절하게 관리하는 데 도움이 되었습니다.
해 보세요:
응답 = 요청.get(url)
데이터 = response.json()
e:와 같은 예외는 제외
print(f”오류: {str(e)}”)
반품 없음
7. 문자열 형식
Python의 f-strings 및 .format() 메서드를 사용하면 문자열 형식을 간단하게 지정할 수 있습니다.
print(f”재고: {name}, 가격: ${price:.2f}”)
print(“재고: {}, 가격: ${:.2f}”.format(이름, 가격))
8. 사전작업
Python의 사전은 중첩된 API 데이터를 처리하는 데 강력합니다.
가격 = data.get('가격', 'N/A')
주식 = 데이터[기호]
quote = stock.get('quote', {})
가격 = quote.get('lastPrice', 'N/A')
9. 디버깅 팁
Python에서의 디버깅은 간단하고 효과적입니다.
print(f”디버그: {변수}”)
print(f”유형: {유형(데이터)}”)
json 가져오기
print(json.dumps(data, indent=2))
10. 인증 문제 극복
제가 직면한 가장 큰 장애물 중 하나는 인증을 받는 것이었습니다. 나는 며칠 동안 갇혀서 다른 접근 방식을 시도했지만 성공하지 못했습니다. 결국 저는 왜 작동하지 않는지 이해하기 위해 지원을 요청하기로 결정했습니다.
이 문제는 내가 사용 중인 계정 유형과 관련된 것으로 밝혀졌습니다. 성공적으로 인증하려면 중개 계정과 개발자 계정이 모두 필요했습니다. 처음에는 개발자 계정만 필요한 줄 알았는데 API에는 활성 중개 계정의 자격 증명도 필요했습니다.
이 경험은 저에게 중요한 교훈을 주었습니다. 필요할 때 주저하지 말고 도움을 요청하세요. 자존심을 내려놓고 조언을 구하면서 문제를 더 깊이 이해하게 되었고 혼자서 계속 어려움을 겪을 때보다 훨씬 빨리 문제를 해결했습니다
결론Python은 놀라울 정도로 초보자에게 친숙합니다! 제가 배운 내용은 다음과 같습니다.
다음 단계
최종 생각
배우는 가장 좋은 방법은 실천하는 것입니다. 실험과 실수를 두려워하지 마세요 — 모든 도전은 성장의 기회입니다!
데이터 분석 저장소: https://github.com/Jesse-Chong/Schwab-Market-Analytic
원래 Medium에 게시됨
위 내용은 Stock API로 놀기: JavaScript/React 개발자가 Python을 배웁니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!