Sebagai seseorang yang baru mengenali Python, saya baru-baru ini memulakan perjalanan untuk menerokai keupayaannya sambil bekerja dengan API saham. Sepanjang perjalanan, saya belajar cara untuk:
Berikut ialah pecahan pengalaman pembelajaran dan perkara penting saya!
1. Menyediakan Python
Persekitaran mayaPython (venv) membolehkan anda mengasingkan kebergantungan projek anda, memastikan pakej anda tidak bercanggah dengan orang lain. Ia bagus untuk pembangunan profesional.
Langkah untuk Mencipta dan Mengaktifkan Persekitaran Maya:Membuat persekitaran mayapython -m venv venv
Aktifkan (Mac/Linux)
sumber venv/bin/activate
Aktifkannya (Windows)
Ini memastikan pakej projek anda berasingan daripada yang lain.
Pengurusan Pakej Menggunakan pip, pemasang pakej Python, saya belajar mengurus kebergantungan:
Pasang pakej
Simpan keperluan
Pasang daripada keperluan
2. Pembolehubah Persekitaran
Untuk memastikan data sensitif selamat, saya menggunakan fail .env untuk kunci dan bukti kelayakan API:.env fail
SCHWAB_CLIENT_SECRET=kunci_rahsia saya
Kod Python
os import
load_dotenv() # Muatkan pembolehubah daripada .env
kunci_api = os.getenv(‘SCHWAB_CLIENT_ID’)
Penting: Jangan sekali-kali menyerahkan fail .env kepada Git. Gunakan fail .gitignore untuk mengecualikan nya.
permintaan import
Buat permintaan GET
Semak sama ada permintaan itu berjaya
data = response.json() # Tukar respons kepada JSON
4. Memahami Skema
Sebelum berinteraksi dengan titik akhir API, saya meneroka skemanya. Skema API adalah seperti pelan tindakan yang memberitahu anda:
Sebagai contoh, jika titik akhir API mendapatkan semula harga saham, skema mungkin kelihatan seperti ini:
Skema Permintaan:
{
“simbol”: “rentetan”,
“tarikh”: “rentetan (YYYY-MM-DD)”,
"selang": "rentetan (cth., '1d', '1m')"
}
Skema Balasan:
{
“simbol”: “rentetan”,
"harga": [
{
“tarikh”: “rentetan (YYYY-MM-DD)”,
"terbuka": "terapung",
“tutup”: “terapung”,
"tinggi": "terapung",
"rendah": "terapung",
“isipadu”: “integer”
}
]
}
Mengetahui skema membantu dalam dua cara:
Skema menjimatkan masa saya dan menjadikan penyahpepijatan lebih mudah semasa bekerja dengan API.
5. Bekerja dengan JSON
API selalunya mengembalikan data dalam format JSON. Begini cara saya mengendalikannya dalam Python:
import json
dengan open(‘tokens.json’, ‘r’) sebagai f:
data = json.load(f)
dengan open(‘tokens.json’, ‘w’) sebagai f:
json.dump(data, f, indent=4)
6. Ralat Mengendalikan
Sekatan percubaan/kecuali Python membantu saya mengurus ralat dengan baik:
cuba:
respon = requests.get(url)
data = response.json()
kecuali Pengecualian sebagai e:
print(f”Ralat: {str(e)}”)
kembali Tiada
7. Pemformatan Rentetan
f-strings Python dan kaedah .format() menjadikan pemformatan rentetan menjadi mudah:
cetak(f”Stok: {nama}, Harga: ${price:.2f}”)
print(“Stok: {}, Harga: ${:.2f}”.format(nama, harga))
8. Operasi Kamus
Kamus dalam Python berkuasa untuk mengendalikan data API bersarang:
harga = data.get(‘price’, ‘N/A’)
stok = data[simbol]
sebut harga = stock.get(‘quote’, {})
harga = quote.get(‘lastPrice’, ‘N/A’)
9. Petua Nyahpepijat
Nyahpepijat dalam Python adalah mudah dan berkesan:
cetak(f”Nyahpepijat: {pembolehubah}”)
cetak(f”Jenis: {jenis(data)}”)
import json
print(json.dumps(data, indent=2))
10. Mengatasi Cabaran Pengesahan
Salah satu halangan terbesar yang saya hadapi ialah mendapatkan pengesahan untuk berfungsi. Saya terperangkap selama beberapa hari, mencuba pendekatan yang berbeza tanpa kejayaan. Akhirnya, saya memutuskan untuk mendapatkan sokongan untuk memahami sebab ia tidak berfungsi.
Ternyata isu itu berkaitan dengan jenis akaun yang saya gunakan. Untuk mengesahkan dengan jayanya, saya memerlukan kedua-dua akaun pembrokeran dan akaun pembangun. Saya pada mulanya menganggap bahawa hanya akaun pembangun diperlukan, tetapi API juga memerlukan bukti kelayakan daripada akaun pembrokeran yang aktif.
Pengalaman ini mengajar saya satu pengajaran penting: jangan teragak-agak untuk meminta bantuan apabila diperlukan. Dengan mengetepikan ego saya dan mencari bimbingan, saya mendapat pemahaman yang lebih mendalam tentang masalah dan menyelesaikannya dengan lebih cepat berbanding jika saya terus berjuang sendiri
KesimpulanPython sangat mesra pemula! Inilah yang saya pelajari:
Langkah Seterusnya
Pemikiran Akhir
Cara terbaik untuk belajar adalah dengan melakukan. Jangan takut untuk mencuba dan membuat kesilapan — setiap cabaran adalah peluang untuk berkembang!
Repo analisis data: https://github.com/Jesse-Chong/Schwab-Market-Analysis
Asal diterbitkan di Medium
Atas ialah kandungan terperinci Bermain dengan API Saham: Pembangun JavaScript/React Mempelajari Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!