Rumah > pembangunan bahagian belakang > Tutorial Python > Bermain dengan API Saham: Pembangun JavaScript/React Mempelajari Python

Bermain dengan API Saham: Pembangun JavaScript/React Mempelajari Python

DDD
Lepaskan: 2024-12-19 21:05:51
asal
869 orang telah melayarinya

Playing with a Stock API: A JavaScript/React Developer Learns Python
Playing with a Stock API: A JavaScript/React Developer Learns Python
Playing with a Stock API: A JavaScript/React Developer Learns Python

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:

  • Sediakan persekitaran maya
  • Urus pakej
  • Gunakan pembolehubah persekitaran untuk data sensitif
  • Buat permintaan HTTP dan kendalikan JSON
  • Laksanakan pengendalian ralat dan pemformatan rentetan
  • Kerja dengan kamus Python
  • Fahami skema yang disediakan oleh API

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 maya

python -m venv venv

Aktifkan (Mac/Linux)

sumber venv/bin/activate

Aktifkannya (Windows)

venvScriptsactivate

Ini memastikan pakej projek anda berasingan daripada yang lain.

Pengurusan Pakej Menggunakan pip, pemasang pakej Python, saya belajar mengurus kebergantungan:

Pasang pakej

permintaan pemasangan pip python-dotenv

Simpan keperluan

pembekuan pip > keperluan.txt

Pasang daripada keperluan

pip install -r requirements.txt

2. Pembolehubah Persekitaran

Untuk memastikan data sensitif selamat, saya menggunakan fail .env untuk kunci dan bukti kelayakan API:

 .env fail

SCHWAB_CLIENT_ID=my_secret_id

SCHWAB_CLIENT_SECRET=kunci_rahsia saya

Kod Python

daripada dotenv import load_dotenv

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.

  • 3. Membuat Permintaan HTTP
Saya menggunakan perpustakaan permintaan untuk berinteraksi dengan API:

permintaan import

Buat permintaan GET

respon = requests.get(url, headers=headers, params=params)

Semak sama ada permintaan itu berjaya

jika respons.status_code == 200:

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:

  • Skema Permintaan: Data yang perlu anda hantar, termasuk medan yang diperlukan, jenis data dan kekangan.
  • Skema Respons: Data yang anda boleh jangkakan untuk terima, termasuk struktur, jenis data dan contoh.

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:

  1. Persediaan: Ia memastikan anda menyusun permintaan anda dengan betul dan mengetahui cara mengendalikan respons.
  2. Pencegahan Ralat: Mematuhi skema meminimumkan permintaan yang tidak sah atau respons yang disalahtafsirkan.

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

Baca JSON daripada fail

dengan open(‘tokens.json’, ‘r’) sebagai f:

data = json.load(f)

Tulis JSON pada fail

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:

Menggunakan f-strings

cetak(f”Stok: {nama}, Harga: ${price:.2f}”)

Menggunakan .format()

print(“Stok: {}, Harga: ${:.2f}”.format(nama, harga))

8. Operasi Kamus

Kamus dalam Python berkuasa untuk mengendalikan data API bersarang:

Dapatkan nilai dengan lalai

harga = data.get(‘price’, ‘N/A’)

Akses kamus bersarang

stok = data[simbol]

sebut harga = stock.get(‘quote’, {})

harga = quote.get(‘lastPrice’, ‘N/A’)

9. Petua Nyahpepijat

Nyahpepijat dalam Python adalah mudah dan berkesan:

Penyahpepijatan cetakan

cetak(f”Nyahpepijat: {pembolehubah}”)

Semak jenis pembolehubah

cetak(f”Jenis: {jenis(data)}”)

Cetakan kamus yang cantik

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:

  • Persekitaran maya memastikan projek teratur.
  • Pembolehubah persekitaran melindungi data sensitif.
  • Perpustakaan seperti permintaan memudahkan panggilan API.
  • Pengendalian ralat yang baik adalah penting.
  • Kosongkan nama fungsi dan ulasan meningkatkan kebolehbacaan.

Langkah Seterusnya

  • Selam lebih mendalam ke dalam pengesahan API.
  • Teroka visualisasi data.
  • Tambahkan pengendalian ralat yang lebih mantap.
  • Laksanakan ujian automatik.

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan