Al Ruby'i Vur Python'a

Benzer belgeler
ile Python gibi kod yazma

Mantıksal Kontrol ve Döngü Komutları

Lambda, Map, Filter ve Dizi Tamamlama

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar çıldırdı! yazısı gelir. Ancak;

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

1 PROGRAMLAMAYA GİRİŞ

11- FONKSİYONLAR (FUNCTIONS)

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Fonksiyonlar. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Nesne Yönelimli Programlama

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

#ifndef COMPLEX_H #define COMPLEX_H

Yazılım Kodlama ve İ simlendirme Standartları v1.0

GÖRÜNTÜ İŞLEME MATLAB DERS-4

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Metotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end

5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Ajanda. Ruby Betik Dili ve Ruby on Rails. Dr. Erek Göktürk. IdentraYazılım ve Donanım Çözümleri. identra.com.

1 JAVASCRIPT NEDİR? 1

Adım Adım C-II. Eksik kalmış konular

BİL-142 Bilgisayar Programlama II

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

Python ile Programlamaya Giriş DERS 9: FONKSİYONLAR DR. HÜSEYİN BAHTİYAR

Java String İşlemleri

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Yrd. Doç. Dr. Caner ÖZCAN

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

Java da İşleçler, Ders #3 (4 Kasım 2009)

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Lambda İfadeleri (Lambda Expressions)

10/17/2007 Nesneye Yonelik Programlama 3.1

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Ruby ve Rails'de Exception Kullanımı

Akış Konrol Mekanizmaları

Yrd. Doç. Dr. Caner ÖZCAN

Programlama Dilleri 3

HSancak Nesne Tabanlı Programlama I Ders Notları

BİLİNİRLİK ALANI ve ÖMÜR, KONTROL DEYİMLERİ

HSancak Nesne Tabanlı Programlama I Ders Notları

çindekiler 3 Python Programlarn Yürütme Kaynak Program... 24

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Python Programlama Dili

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

Fonksiyonlar (Altprogram)

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

Timer İle arka plan renk değişimi

D İ Z İ L E R A R R A Y S

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

Bölüm 15. Fonksiyonel programlama dilleri (Functional Programming Languages)

PYTHON PROGRAMLAMA DİLİ

Döngüler. Tablo 15.1: Ruby de Başlıca Döngü Yapıları

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

Hafta 13 Fonksiyonlar

C++ Dersi: Nesne Tabanlı Programlama

PYTHON PROGRAMLAMA DİLİ

PYTHON 3. Python Nedir? Yrd. Doç. Dr. Murat Olcay ÖZCAN

Bölüm 9. Altprogramlar ISBN

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

NESNEYE YÖNELİK PROGRAMLAMA

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Uygulamalı Yapay Zeka. Dr. Uğur YÜZGEÇ Ders 2: Prolog Giriş

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

PDF. C# Console Örnekleri.

GÖRÜNTÜ İŞLEME DERS-3

BİL-142 Bilgisayar Programlama II

/*int sayi1, sayi2,toplam=0;

ALGORİTMA VE PROGRAMLAMA I DERS NOTU#10

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

Girdi Çıktı İşlemleri

Kaya Oğuz.

Python ile Programlamaya Giris

8. Bölüm DİZİLER. tip dizi_ismi[eleman_sayısı]; Bütün diziler 0 ile baţlar.

PostgreSQL ve PL/pgSQL

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I

Akış Kontrol Mekanizmaları

İçindekiler. KISIM 1 Temel Programlama 1. Bölüm 1: Programlama ve Python 3. Bölüm 2: Değişkenler, İfadeler ve Deyimler 13. Giriş 4

Transkript:

Al Ruby'i Vur Python'a Python Tutorial'ı Üzerinde Gezintiler Erek Göktürk Onur Küçük

Çalıştırma Etkileşimli: irb Argümanlar: ARGV[n] Etkileşimli: python Argümanlar: sys.argv[n]

Karmaşık Sayılar Özel bir sözdizimi yok. Complex sınıfı var: Complex('4+3i') Sözdizimi: 4+3j Hatta: 1+1j*3 = 3+3j!!!

Dizgeler Raw string r yok. ve ''' yok. Bash tipi heredoc var. Substring almak range nesneleri kullanarak: abcd [1..2] (1..2).to_a #=> [1,2] Substring almak split notasyonuyla (syntactic): abcd [1:2]

Diziler Range ile indexleme Split özel sözdizimi

Sözdizimi Anahtar kelimeler blokları sınırlıyor: if a > b sunu_bunu elsif b > c bunlar_sunlar else bunu_sunu Anahtar kelimeler ve indentation blokları sınırlıyor: if a > b: sunu_bunu elif b > c: bunlar_sunlar else: bunu_sunu

İterasyon [1,2,3].each do x f(x) (1..3) (1..3).to_a (1..10).step(3) do x f x for x in [1,2,3]: f(x) range(1,3) list(range(1,3)) for x in range(1,10,3): f(x)

İterasyon 2 Döngülerde else yok. break ve continue çok kullanılmıyor. Pass yok. Boş bıraksak? class A Döngülerde else var: for x in [1,2,3]: if x < 0: print('neg!') break else: print('neg yok!') pass var: class A: pass

Fonksiyonlar Rubydoc # işbu fonksiyon... def bufonk... Global'lara değer atanabiliyor. Call by reference Return değer dönmek için zorunlu değil. Docstring def bufonk işbu fonksiyon... Global'lara doğrudan değer atanamıyor (?) Call by reference Return değer dönmek için zorunlu.

Fonksiyonlar 2 Fonksiyon diye bir veri tipi yok. def a a b = a b.class #=> String b() #=> error! Yeniden isimlirme: alias_method a b Fonksiyon diye veri tipi var. def a(): return a b = a b() #=> a

Fonksiyonlar 3 Parametre varsayılan değeri fonksiyon her çağrıldığında yeniden hesaplanıyor: b = zonk def a(p = b) p a #=> zonk b = zork a #=> zork Parametre varsayılan değeri sadece fonksiyonun tanımlandığı noktada hesaplanıyor: b = zonk def a(p = b): return p a() #=> zonk b = zork a() #=> zonk

Fonksiyonlar 4 İsimlirilmiş parametreler yok, yedirilmiş sözlükler var. def a(b, nmd)... a( X ) a(:c => XX ) #=>hata a( X, :c => XX ) a( X, {:c => XX }) İsimlirilmiş parametreler var. def a(b, c= zip ):... a( X ) a(c= XX ) a( X, XX )

Fonksiyonlar 5 Değişken sayıda argüman alan fonksiyonlar aynı. def a(b, *args)... Python'da şu yok (?): def a(b, c, d)... b = [1, 2, 3] a(*b) Değişken sayıda argüman alan fonksiyonlar aynı. def a(b, *args)...

Lambda Fonksiyonlar Lambda fonksiyon'lar closure. Python tutorial'dan: By popular demand, a few features commonly found in functional programming languages like Lisp have been added to Python.... Semantically, they are just syntactic sugar for a normal function definition. Like nested function definitions, lambda forms can reference variables from the containing scope. Lambda fonksiyonlar closure.

Lambda Fonksiyonlar 2 def z(lmb) lmb.call(7) y = 3 a = lambda { x x+y } a.call(5) #=> 8 y = 5 a[5] #=> 10 z(a) #=> 12 def z(lmb): return lmb(7) y = 3 a = lambda x: x+y a(5) #=> 8 y = 5 a(5) #=> 10 z(a) #=> 12

Kod Yazma Stili Standart yok Indent: 2 boşluk (soft) Satırda maks 80 veya 120 karakter (öneririm) CamelCase sınıflar Büyük harfle başlayan her şey sabit, ama sabitler tamamen büyük harf Alt çizgili değişken ve fonksiyon isimleri PEP 8 Indent: 4 boşluk (soft) Satırda maks 79 CamelCase sınıflar Alt çizgili değişken ve fonksiyon isimleri

Listeler Sözdizimi şekeri: %w{'hay', 'huy'} #=> ['hay', 'huy'] Array < Enumeration sınıfının metodları

Liste Anlama :) a = [1,2,3] a.map { x x+1} #=> [2,3,4] a = [1,2,3] b = [1,2] a.product(b). map { x,y x+y} a = [1,2,3] [ x+1 for i in a ] #=> [2,3,4] a = [1,2,3] b = [1,2] [x+y for i in a for j in b] #=> [2, 3, 3, 4, 4, 5]