Sıfırdan İleri Seviye Programlama Eğitimi (Python)

nt

Emekli
Katılım
21 Nisan 2023
Mesajlar
1,128
Yazımın size yararlı olabilmesi için bu özellikleri sağlıyor olmanızı bekliyorum :
Web teknolojilerinin temellerine hakim olmanız, giriş seviyesnde ingilizce bilmeniz, en önemisi merak ediyor olmanız.

Algoritma diyip durdukları nedir ?
En basit şekilde anlatmaya çalışıyorum hepimiz sahanda yumurta yapmışızdır hiç değilse bile sürecci biiyoruz algoritma dedikleri şey tam olarak bu örneğin sahanda yumurtayı programlıyalım

yumurtaları cıkar
sahanı ocaga koy
ocagı yak
sahana yag ekle
yumurtaları sahanın ıcıne kır
kabukları cope at
pısınce altını kapat
ocakdan al
-bu örneğimizde yumurtaları sahanın içine kır diyecegimize, yumurtaları kır deseydik bu başarısız bir algoritma olurdu.

Programızı yazmaya başlamadan önce bir algoritma yazmanızı öneririm. şahsi fikrim işin %60-%65'i algoritma gerisi kolay gözümüzde büyütmeyelim hata verdiğinde hata mesajında zaten size ne yapmanız gerektigini, neyi yanlış yaptıgınızı söylüyor 165 in satırda hata var diyor örnegin yada şu modül eksik diyor

Neden Python?
"Python dili C – C++ gibi dillerin aksine Interpreter, yani yorumlayıcı bir dildir. Dolayısıyla derlemeye gerek kalmadan çalıştırabilir ve bu sayede çok hızlı bir biçimde uygulama geliştirebilirsiniz."
Bu arada C en hafif dildir sadece gömülü sistem ile uğraşıcaksanız kesinlikle bu yazıyı okumayın :D
Python kullanarak robotik programlama, masaüstü programlama, oyun programlama, taşınabilir cihaz programlama, web programlama ve ağ programlama, gömülü sistem programlama, çapraz platform ve aynı anda mobil ve masa üstü için geliştirebilirsiniz.
Python, içerisinde barındırdığı Garbage Collector (çöp toplayıcı) sayesinde uygulamanızın bellek kullanımını optimize eder.
Hepsinden önemlisi Python "özgür" bir dildir.

peki yokmu türkçe bir programlama dili ? malesef bir babayiğit çıksa yazsa süper olur nerdeeee...

Kurulum
Windows: Python'ın resmi websitesinden en son sürümü indirin: https://www.python.org/downloads/
macOS:
Kod:
brew install python
Linux (Debian/Ubuntu):
Kod:
sudo apt install python3
Linux (CentOS/Fedora):
Kod:
sudo yum install python3

IDE
pythonu kurduysak bize birde program lazım yaptıklarımızı çalıştıracak
ben code öneriyorum yüzlerce eklenti var kullana bileceğiniz yeni başlıyorsanız kod tamamlayıı programları öneririm
Kod:
sudo apt install code

Print ile başlıyalım adettendir burada dikkatiniz tırnak işaretinde olsun
Kod:
print "mekatronik.org"
--mekatronik.org
print 'Python öğrenmeye başlıyorum.'
--Python öğrenmeye başlıyorum.
print """10"""
--10
print "5+6"
--11
yukarıdaki kodda 4 farklı tırnak işareti kullandık bunlar ilerliyen zamanlarda projenizdeki kodların içine farklı işlemler eklemek için örnekdir.


def if else Mantığı:1 olmazsa 2 oda olmazsa 3
def 1
if 2
else 3

"else" İngilizce bir kelimedir ve Türkçe'de "aksi takdirde", "değilse", "aksi halde" gibi anlamlara gelir. Programlamada ise, koşullu ifadelerde belirli bir koşulun sağlanmadığı durumda çalışacak olan kod bloğunu ifade eder. "If" ifadesinin koşulu sağlamadığında "else" bloğundaki kodlar çalışır. Bu sayede program, farklı senaryolara göre farklı işlemler yapabilir.

Kod:
def kontrol_sayi(sayi):
    if sayi % 2 == 0:
        return "Sayı çifttir."
    else:
        return "Sayı tektir."

girilen_sayi = int(input("Bir sayı girin: "))
sonuc = kontrol_sayi(girilen_sayi)
print(sonuc)
yukarıdaki örnekde sınıf oluşturma ve if else mantığını anlatmaya çalıştım dikkat ettiyseiz girilen_sayi = int(input) yani burada int kulanndık
kullanıcı bu şekilde tam sayı girmek zorunda kaldı(3-5-8-648 gibi) int yerine float kullansaydık kullanıcı ondalık sayılar girebilirdi (8.54-3,19456 gibi)

Modül nedir?
Modüller başkalarının yazdığı kodlardır veya kendi modüllerinizi oluşturabilirsiniz.
Örneğin, veritabanı işlemleri yaparken "sqlite3" modülünü içe aktararak kodumuz : import sqlite3
yada

motor çalıştırma - import time (zaman modülü)
Kod:
import time


def motor_calistir(sure):

    print("Motor çalıştırılıyor...")

    time.sleep(sure)

    print("Motor durduruldu.")


motor_calistir(2)

Robot Kontrolü için -import ServoKit (kontrol modülü)
Kod:
from adafruit_servokit import ServoKit

kit = ServoKit(channels=16)
servo_no = 0
aci = 90
kit.servo[servo_no].angle = aci

Raspberry Pi ve GPIO Kontrolü -import RPi.GPIO (pi modülü)
Kod:
import RPi.GPIO as GPIO
import time

pim = 18

GPIO.setmode(GPIO.BCM)
GPIO.setup(pim, GPIO.OUT)

GPIO.output(pim, GPIO.HIGH)
time.sleep(2)
GPIO.output(pim, GPIO.LOW)

GPIO.cleanup()

anahtar kelimeler :
int (Tamsayı), str (Yazı), bool (Mantıksal)
tuple (Demet), dict (Sözlük), float (Ondalık Sayı)

Sensör entegrasyonu örneği:
import sensor_library  # Sensör kütüphanesini içe aktar

sensor_veri = sensor_library.oku()  # Sensörden veriyi oku

if sensor_veri > belirli_deger:
    print("Sensör değeri belirlenen değerden büyük.")
else:
    print("Sensör değeri belirlenen değerden küçük.")

PID kontrolü örneği:
import PID  # PID kütüphanesini içe aktar

pid = PID.KontrolAyarlari(kp=0.1, ki=0.01, kd=0.05)  # PID kontrol ayarlarını belirle

hedef_deger = 50  # Hedef değeri belirle

while True:
    sensor_deger = sensor_oku()  # Sensörden veriyi oku
    kontrol_sonuc = pid.hesapla(sensor_deger, hedef_deger)  # PID kontrol algoritmasını uygula

    motor_hizini_ayarla(kontrol_sonuc)  # Motor hızını PID sonucuna göre ayarla

Gömülü sistem örneği:
import board  # Board kütüphanesini içe aktar

sensor_pin = board.D4  # Sensör pinini belirle

while True:
    sensor_veri = oku(sensor_pin)  # Sensörden veriyi oku
    if sensor_veri > belirli_deger:
        uyarı_ver()  # Belirli bir değerin üzerindeyse uyarı ver

burada once bir proje tasarlamanız gerekli
Mekatronik proje örneği:
import mekatronik_proje  # Mekatronik proje kütüphanesini içe aktar

proje = mekatronik_proje.BasitProje()  # Yeni bir mekatronik proje oluştur

proje.sensör_ekle(sensör_tipi="Hareket", pin=4)  # Hareket sensörü ekle
proje.led_ekle(pin=18)  # LED ışığı ekle

while True:
    hareket_durumu = proje.sensör_oku()  # Hareket sensöründen veriyi oku
    if hareket_durumu:
        proje.led_ac()  # Hareket algılandığında LED'i aç
    else:
        proje.led_kapat()  # Hareket algılanmadığında LED'i kapat
 
Son düzenleme:
merhaba; Python ile arayuz tasarimi nasil, c++ ile gtk gibi kasintili mi, mesela bir data grid eklemek ne kadar yorucu yada kolay, ekledigim gridi visual studio yada diger idelerdeki gibi rahat bir sekilde konfigure edebiliyormuyuz, bunlari sunun icin soruyorum, uygulama gelistirirken uygulama kodlarindan cok bu tip seyleri yapmak beni gercekten yoruyor, mesela bir formun uzerine bir buton bir combobox ve bir editbox eklemek kolaymi, design mod mevcut mu.
 

Çevrimiçi personel

  • Gokrtl
    Gökhan Kartal (TeknoDay)
  • taydin
    Timur Aydın
  • fide
    Meraklı ve "nasıl" sorusunu seven biri

Forum istatistikleri

Konular
5,443
Mesajlar
92,813
Üyeler
2,389
Son üye
muratcan16x

Son kaynaklar

Son profil mesajları

m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
İkinci Mesaj deneme 3 4 :D
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top