Buradaki yazımda python programlama diline küçük bir atıfta bulunmuştum. Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.
Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda kalmasını kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit yitirmeden programlama yapılmaya başlanabilen bir dil olma özelliği kazandırır.
Modüler yapısı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (Unix, Linux, Mac, Windows, Amiga, Symbian). Python ile sistem programlama, kullanıcı arabirimi programlama, ağ programlama, web programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda yazılım geliştirebilirsiniz. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++ gibi dillere tercih edilir. Çok paradigmalı oluşu, çapraz platformlarda kullanılabilme kolaylığı ve zengin kütüphanesiyle python bir çok programalama dilininin önüne geçmekte. Google, NASA ve CERN gibi büyük kurumlar da Python kullanmaktadır ayrıca TensorFlow, PyTorch, Keras gibi kütüphanelerle derin makine öğrenmesi uygulamaları yapılabilir. Aşağıdaki örnekte ise Beautiful Soup kütüphanemizi kullanarak yahoo finance tan güncel hisse senetlerimizi listeleyeceğiz. Beautiful Soup, HTML ve XML belgelerini ayrıştırmak için bir Python paketidir. HTML’den veri çıkarmak için kullanılabilen ayrıştırılmış sayfalar için bir ayrıştırma ağacı oluşturur ve bu, web’den veri toplama için yararlıdır. Elbette yine yfinance kütüphanemizi kullanarak bu işlemi gerçekleştirebilirdik ama özellikle belli bir sayfadan veri çekmek istediğim için Beautiful Soup paketimizi kullanmak istedim.
import requests
from bs4 import BeautifulSoup
def stock_price(symbol: str = "GARAN.IS") -> str:
url = f"https://in.finance.yahoo.com/quote/{symbol}?s={symbol}"
soup = BeautifulSoup(requests.get(url).text, "html.parser")
class_ = "My(6px) Pos(r) smartphone_Mt(6px)"
return soup.find("div", class_=class_).find("span").text
if __name__ == "__main__":
for symbol in "GARAN.IS KONYA.IS EGPRO.IS ASELS.IS SISE.IS SASA.IS".split():
print(f"{symbol:<4} Hissesinin güncel fiyatı: {stock_price(symbol):>8}")