25 Eylül 2018, 01:29:31

Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME


Python Öğreniyoruz [ SORULAR-SORUNLAR ]

Başlatan muhittin_kaplan, 03 Haziran 2017, 04:51:26

muhittin_kaplan

10 Haziran 2017, 19:59:58 #15 Son düzenlenme: 10 Haziran 2017, 20:02:25 muhittin_kaplan
Kabaca geçen yıl ufak ufak kodlamaya başladım hocam. İlk başlarda "yahu bu ne böyle saçmalık mı olur" dediğim çok nokta oldu. Örnek vereyim global değişken
a=0
def fonksiyon():
      global a
      a+=15
fonksiyonun içerisinde global tanımlaması saçma geldi.

Ama kullandıkça ve hakimiyet arttıkça gerçekten hızlı kodlandığı (çalışması yavaştır zira yorumlanıyor) kolaylığı, neredeyse her şey için bir modül olması, crossplatform olması, fonksiyonel programlamaya uygun olması (lambda, map, reduce vb) OOP olması, multiprocess, multiThreading yapılabilmesi,problem karşısında çözüm seçeneklerinin çokluğu,(örneğin GUI tasarımı yapmak istediğinizde PyQt, Tkinter, Gtk, vxPython gibi modüllerle) özellikle Açık kaynak ve Bedava olması ile benim için bir adım öne çıkmış vaziyette.


vitruvius

Python öğrenmek isteyen varsa kesinlikle kaçırılmaması gereken MIT'nin efsane bir online kursu var şu an. Python'un en ince detaylarına kadar değinen, giriş seviyesinde, gerçekten de mükemmel bir kurs.
https://courses.edx.org/courses/course-v1:MITx+6.00.1x+2T2017/info

trgtylcnky

Hocam konu dışı ama bir şey soracağım. C++'da program yazarken class tanımını .h dosyasına, fonksiyonların içeriğini ayrı bir .cpp dosyasına yazıyorduk void class1::func1() gibi. Şimdi python ile bir program yazıyorum. Aynı class'a ait bir sürü fonksiyon oldu aynı dosyada çok kalabalık oluyor. Bunları nasıl ayırabiliriz?

muhittin_kaplan

24 Temmuz 2017, 04:54:50 #19 Son düzenlenme: 24 Temmuz 2017, 05:00:24 muhittin_kaplan
[soruyu ve cavabi tasiyacagim sorular bolumune]


Farkli class yaparak asiyorum ben o sorunu. Bol yonet. Zaten cok karmasik sa artik birseyler ters gidiyordur.
Surada sanki benzer bir soru var
http://python.6.x6.nabble.com/Distributing-methods-of-a-class-across-multiple-files-td4337155.html

yesilu

10 Ocak 2018, 19:08:52 #20 Son düzenlenme: 10 Ocak 2018, 19:52:23 yesilu
Ben yeni öğreniyorum, sorum basit gelebilir şimdiden zahmetiniz için teşekkür ederim:
p1 = Pin(12, Pin.OUT)
p2 = Pin(13, Pin.OUT)
p3 = Pin(15, Pin.OUT)
bu işi kısa yoldan yapmak için p(1, 2, 3) = Pin((12, 13, 15), Pin.OUT) benzeri bir yöntem olması gerektiğini hissediyorum ama bulamadım, köşeli parantez, güzel parantez de denedim olmadı. How it's made?

EK:
Kod Seç
from machine import PinADC
import time
p1 
Pin(12Pin.OUT)
p2 Pin(13Pin.OUT)
p3 Pin(15Pin.OUT)
adc ADC(0)
while 
True:
    
adc.read()
    
p3.off()
    
p1.on()
    if 
30:
        break
    
time.sleep_ms(t)
    
adc.read()
    
p1.off()
    
p2.on()
    if 
30:
        break
    
time.sleep_ms(t)
    
adc.read()
    
p2.off()
    
p3.on()
    if 
30:
        break
    
time.sleep_ms(t)

Bu kodlarda yapılanı daha kısa veya şık yoldan yapma yolu var mı? time.sleep dışında bekletme fonksiyonu var mı (delay gibi). (mikropiton yüklü mininodemcu ile oynuyorum a0 da ldr, 12, 13, 15 de rgb led var kendinden) Kodların beklediğim gibi çalışmadığını farkettim, elimle ldr nin ışığını kesiyorum yaklaştıkça rgb geçişi hızlanıyor, ama nedense 10 denemeden 9 unda kırmızıda duruyor, neden kırmızıya kıyak geçtiğini şuan bu satırları yazarken anladım, enteresan...Tahmini olan???

fide

@muhittin_kaplan konuyu açtığın için teşekkür ederim.
Lisede bilişim öğretmeniyim. Python bu seneden itibaren okullarda programlamaya giriş dersi olarak verilmeye başlanıyor. 2018 şubat tatilinden sonra ders olarak işlenecek.
Python'un Telit GSM modüllerde, onion omega, raspberry pi, linkit duo, Mac, Linux ve windows ortamında çalışması çok güzel. Ben de hem öğrenip hem de ders videoları çekmeye çalışıyorum.
Karaman   Bilişim Formatorleri olarak kurduğumuz YouTube sayfasında Python ve arduino ile ilgili videolar hazırlıyoruz.
https://www.youtube.com/channel/UCrxn84B2xz0Gq-qQsDPVx9g/featured


Pythona   ilginin artması yönündeki çabalarınız için teşekkür ediyorum.



Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

fide

Bu arada Python ile ilgili Türkçe kaynak arayan herkes Fırat Özgül ismiyle enkaz bir defa karşılaşmıştır. Elimde 906 sayfa basımını, parça olarak kopyalanmasını serbest bıraktığı Python 3 kitabı var. Anlatım ve örnekler çok güzel. Değindiği noktalar ve üslup süper. Programlama bilgisi olanlar için hızlı okunabilecek, olmayanlar için ise başucu kitabı niteliğinde.
Allah ondan razı olsun. Tavsiye ederim. Ben bitirmek üzereyim.
Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

mehmet

10 Ocak 2018, 22:17:53 #23 Son düzenlenme: 10 Ocak 2018, 22:20:09 mehmet
@yesilu break, while den çıkarıyor. Yerine
continue kullanılacak.

Kod Seç

from machine import Pin
ADC
import time

p1 
Pin(16Pin.OUT)
p2 Pin(5Pin.OUT)
p3 Pin(4Pin.OUT)

adc ADC(0)

while(
True):
    
adc.read()
    
p3.off()
    
p1.on()
    if(
30):
        continue
    
time.sleep_ms(t)
    
adc.read()
    
p1.off()
    
p2.on()
    if(
30):
        continue
    
time.sleep_ms(t)
    
adc.read()
    
p2.off()
    
p3.on()
    if(
30):
        continue
    
time.sleep_ms(t)
nothing

yesilu

Bu kodla ldrden okunan ışık şiddeti r-g-b geçiş hızını belirliyor, elimle ldr ye gölge yapınca hızlanıyor, iyice yaklaştırıp karartınca(okunan değer 30un altına düşünce duruyor(raslantısal olarak 3 renkten birinde duracağını düşünüyordum ama ezici çoğunlukla kırmızıda duruyor).break i 1sn bekle ile değiştirdim sonra, her seferde reset istiyordu.kırmızının nedeni rgb den gelip elimden yansıyan ışığın ldr yi etkilemesi (olduğunu düşünüyorum). Kırmızı ledlerin ışık şiddeti düşük oluyor, ldr kırmızıdayken düşüyor 30 un altına bu nedenle.adc okuma satırlarını pin off satırının hemen altına taşıyıp deniycem yarın. Ledin tepki süresi işlemcinin 1 satırı işleme süresinden uzunsa işe yaramayabilir. Piton kolay öğrenilen bir dil, 1 haftadır yukarıda bahsedilen 900 sayfalık pdf yi okuyorum, micropitonda random fonksiyonu yok, rasgele sayı üretmenin bir yolunu düşünmekteyim.diğer sorularıma da kısaca cevap verimesini rica eder iyi günler dilerim.

muhittin_kaplan

@fide Hocam teşekkür ederim.
bu aralar boşladım, elimdeki projeden ötürü.
Fırat Özgül ün belgeleri daha önceden istihza adında bir sayfada tutuluyordu. Derli toplu oldukça başarılı bir belgelendirmeydi.
Sonradan sayfayı kapattı. Ama yazbel de duruyor şuanda.
https://belgeler.yazbel.com/python-istihza/

Yakında yeni bir seri ile devam edeceğim,
PYQT5,numpy, pandas, matplotlib, basemap, gibi modüllerden bahsedeceğim kısmetse.

mehmet

Kod Seç

import urandom
urandom.getrandbits(8#üretilecek en fazla rakamın bit sayısı
print(a)
nothing