Fonksiyonlar, birçok Python programının can damarıdır. Bu taksitle onlar hakkında her şeyi öğrenelim!
Bu serinin girişinde Python'un yerleşik işlevlerinden ikisini kullandık:
print()ve
input(). İlki, terminale bilgi vermek için kullanıldı. İkincisi, terminalden giriş almak için kullanıldı. Bu bölümde Python'un yerleşik işlevleri hakkında daha fazla bilgi edineceğiz. Ayrıca kimsenin düşünmediği şeyleri yapmak için kendi işlevlerimizi yaratacağız!
Neyse, İşlev Nedir?
Önce “fonksiyon” un matematiksel tanımını okumak için Wikipedia'ya gidin , ardından basitleştirmemi okumak için buraya geri dönün!
Tamam, işte başlıyor. Bir işlev, bağımsız değişkenleri üzerinde belirli bir işlem gerçekleştirir ve tahmin edilebilir bir çıktı üretir. Huh, çok daha basit değil ve kesinlikle diğer tanım kadar kesin (veya doğru) değil. Size para sağlayan (bankanız onaylarsa!) Bir otomatik vezne (ATM) makinesi örneği vereyim.
ATM'nin bir dizi farklı girişe dayalı olarak size para veren bir işlevi vardır: (kartınız, pin numaranız, istenen nakit miktarı, makinede nakit mevcudiyeti ve bankanızın para çekme işlemini onaylayıp onaylamaması) . ATM bundan biraz daha karmaşık, ancak sadece hızlı bir örneğe ihtiyacım vardı ve bu iyi olacak. ATM'yi nakit çekmek için her kullandığınızda, aynı işlevi kullanıyorsunuz. Girişler aynı kalırsa, çıktı tahmin edilebilir şekilde aynı olacaktır: nakit (her şey yolundaysa) ve nakit yok (örneğin, makine boşsa). ATM rastgele davranırsa hiçbir faydası olmaz.
İki sayının çarpımını bulmanın bir fonksiyon olduğunu söyleyebiliriz. İki sayıyı giriş bağımsız değişkenleri olarak kabul eden, onları çarpan ve çıktı bir işlev olduğu için ürünü döndüren bir python işlevi.
VS Code'da product.py adında yeni bir dosya oluşturdum ve aşağıdaki metni girdim:
def product(a, b): return a * b print (product (2, 7))
Bu basit işlevi inceleyelim.
defyeni bir fonksiyon tanımı hemen takip edecek gösterir.
product.
a, b
calculationve a * b'nin ürününü ona atar.
return, bu noktada çıktığını belirtmek için anahtar kelimeyi kullanır ve değişkenin değerini
calculation, işlevi çağıran koda geri döndürür .
a * b. Ürünü oluşturmak için iki argüman çarpılır.
answersadece bu değer için oluşturduğumuz değişkende depolandığı çağırana döndürür .
answer = product (2, 7)
Bu noktada, Python'da fonksiyonun çağrılmadan önce bilinmesinin gerçekten önemli olduğunu belirtmeliyim. Bu nedenle, işlev bu dosyada ilk olarak görünür ve son olarak adlandırılır.
Bu çok fazla adımdır, ancak basitleştirilebilir. Adımlar arasındaki değerleri tutmak için iki değişken oluşturduk:
calculationve
answer. Ara değerleri saklamaya gerçekten ihtiyacımız yok, daha doğrudan olabilirdik. Aşağıdaki ekran görüntüsünde, doğrudan a * b sonucunu döndürdüğümü ve aynı zamanda doğrudan
product()işlevin içinden işlevi çağırdığımı görebilirsiniz
print(). Programcılar genellikle kodlarını nasıl yazacakları konusunda seçimler yaparlar - burada olduğu gibi - aynı sonuçları üretirler. Bir stil daha okunabilir, biri daha az kaynak kullanır.
Önceki gönderiden, mevcut olmayan bir hatayı - bir sözdizimi hatası -
print()fonksiyonun yanlış yazılmasıyla ortaya koyabildiğimi hatırlayabilirsiniz
pront(). Şimdi bu
pront()işlevi oluşturalım ! Hem bir giriş talep eden bir iş vardır ve tek bir fonksiyonu olarak bir çıkış üretme.
İşte, kesik ve özlü tarzda:
Ve işte daha ayrıntılı bir tarzda daha uzun bir versiyon:
Ve VS Code'da böyle görünüyor.
Önceki örneğimizde,
pront()fonksiyon için iki argüman kullandım . İlk argüman giriş istemi içindi, ikinci argüman hoş geldiniz mesajını verdi. Bu argümanlar konumsaldır . Onları tersine çevirirsem, sonuç geri olur.
pront()Bu kodla işlevi çağırarak kendiniz deneyin :
pront ("Hello,", "Please enter your name: ")
pront (message="Hello,", prompt="Please enter your name: ")
Bu gönderideki ilk örneğimizde,
returnanahtar kelimeyi işlevin arayanına bir değer döndürmek için kullandık. Ancak ikinci örnekte, bir değer döndürmek için
pront()kullanmadık
return. Neden? Bir işlevin yazarı, programlama stiline bağlı olarak işlevin nasıl döneceğini seçebilir.
Bir işlevden birden fazla değer döndürmek ne zaman mantıklıdır? Bu bir yargılama meselesidir. Dünya yüzeyindeki bir noktanın konumu, noktanın enlem (Kuzey veya Güney derece) ve boylamı (Doğu veya Batı derece) olmak üzere iki değerle ifade edilebilir. Ondalık gösterimde, Eyfel kulesinin konumu enlem ve boylam için (48.858093, 2.294694) şeklindedir.
geolocationEyfel Kulesi, Özgürlük Heykeli veya Sidney Opera Binası gibi üç simge yapının sabit kodlu coğrafi konumunu döndürebilen bir işlev tanımlayalım .
Bu işlev, yakında ele alacağımız yeni bir kavram (if, elif, else) sunar. Şimdilik buraya kaçırıyorum. Şimdilik ilginç olan şey,
returnifadelerin iki değer döndürmesidir: tek bir sonuç olarak enlem ve boylam .
Bu tek sonuç, kendisi birden çok bölümden oluşan bileşik bir veri türüdür. Buna demet denir. Gerçek dünyada, bir nesnenin coğrafi konumu iki bölümden oluşan bir bileşiktir: enlem ve boylam. Bir kişinin yasal adı aynı zamanda genellikle kişinin adı ve soyadından oluşan bir bileşik veri türüdür: ("Richard," Quinn ") isimsiz bir örnek için!
Bir python işlevinden birden çok değer döndürdüğümüzde, gerçekten söylediğimiz şey "Birden çok parçadan oluşan bir bileşik değer döndürüyorum - bir demet".
Tebrikler, "Python ile Programlamayı Öğrenin - Fonksiyonlara Giriş" makalesinin sonuna geldiniz. İşte şimdiye kadar yaptıklarımız:
defAnahtar kelimeyi kullanarak bir işlev oluşturdu .
Bu, Kullanıcı Profili ekibinde Ifood mimarisini nasıl geliştirdiğimizi gösteren bir dizi blog gönderisinin ikinci bölümüdür. O yüzden buradaki ilk mesajı okumanızı tavsiye ederim.
Sıfırdan kahramana adım adım. Takviyeli öğrenme kursuma hoş geldiniz! ❤️ Python'da kodlama örnekleri ve öğreticilerle adım adım temel bilgilerden en son pekiştirmeli öğrenmeye (RL) giden bu güzel yolda birlikte yürüyelim! Bu ilk bölüm, bu yolculuğa çıkmanız için gereken minimum kavram ve teoriyi kapsar.
Kasım 2020'nin başlarında SalesForce, açıklanamayacak şekilde JARM adlı yeni bir aktif TLS parmak izi alma aracını duyurdu. JARM'ın temeli, bir hedef sunucu özel olarak hazırlanmış çeşitli farklı TCP "İstemci merhaba" paketleri kullanılarak tarandığında, elde edilen yanıtların birleştirilip, paylaşılan veya benzer bir uygulama veya sunucunun göstergesi olan bir parmak izi sağlamak için karma hale getirilebilmesidir. yığını.
Harika geliştiriciler yapan teknik olmayan şeyler Bir süredir bu makaleyi yazmayı erteliyorum - yazmak için hiç nitelikli hissetmedim. Bugün onu yazma zamanının geldiğini düşündüm.
Teknoloji endüstrisindeki bir pozisyon için mülakat yaparken, herhangi bir teklif değerlendirilmeden önce genellikle en az üç tur mülakattan geçeceksiniz. Mermiler genellikle şuna benzer: Eğer öyle düşünüyorsan, yanılıyorsun.
Pragmatik Programcı ilk olarak 1999'da yayınlandı ve o zamandan beri tüm zamanların en iyi programlama kitabı seçildi. Yazarlar Andy Hunt ve David Thomas, Agile Manifesto'nun orijinal yazarları arasındaydı ve bazı ciddi referanslara sahipler.
Elvis Presley'in başarısı, bir evcil hayvan dükkanının değerindeki yavru köpekleri satın almak gibi, başkalarının yapamayacağı şeyleri yapmasına izin verdi.
Michael Patrick King, 'Ve Aynen Böyle...'nin uçurumlardan kaçınarak 'Sex and the City'ye sadık kalacağını açıkladı.
Yıldız bir performans için büyük pişmanlıklar yaşadı.
Game of Thrones'un kadrosu şimdi nerede?
Her hafta güncellenen mini bulmacamız, en sevdiğimiz HowStuffWorks okumalarımızı zeki ipuçlarıyla birleştiriyor!
Doğru deterjanı seçme konusunda endişelenmenize gerek kalmadan çamaşır yıkamak yeterince kötü. Peki en iyisi hangisi? Yoksa önemli mi?
Kentucky kırsalındaki Fugates ve Combs aileleri, genetik piyangoyu kaybettiler ve her ikisi de, evlenirken tenlerinin mavi görünmesine neden olan nadir bir çekinik özelliği paylaştılar. Bunun nedeni neydi? Ve ailelere ne oldu?
İki babasız erkek civciv, California akbabasını yok olmaktan kurtarmak için bir programda yetiştiriliyor. Böyle 'bakire' doğumlar nasıl mümkün olabilir?
Geriye dönüp bakıldığında, BoJack'in kanepede oturduğu, bira içtiği ve Horsin 'Around tekrar gösterilerini izlediği günlerden beri uzun bir yol kat ettiğini söylemek, gerilemesini kaçınılmaz kıldı. Bu sezon BoJack'in annesinin ona mutluluk girişimlerinin boşuna olduğunu söylemesi ile başladı - kırılmak onun doğuştan hakkıdır.
Şimdiye kadar, eğlence amaçlı kullanım için neredeyse tüm dronlar quadcopterlardı, ancak bu seçenek kesinlikle uçma söz konusu olduğunda tek seçenek değildir. Drone pazarı olgunlaşıyor ve Parrot şansını sabit kanatlı biriyle denemeye karar verdi.
Yılın bu zamanı. Target ve Costco ve Whole Foods'un değiştiği garip, uzak yerlerdeki o tuhaf, uzak akrabaları ziyaret etme zamanı.
PopcornTime aka temelde "Netflix for Torrents" harika bir yazılım parçasıdır, ancak şimdiye kadar aygıtları jailbreak yapmadan bir iPhone veya iPad'de kullanmak imkansızdı. Şimdi, kurnaz geliştiriciler, normal bir iOS cihazına yetkisiz yazılım yüklemenin bir yolunu buldular.
Cardi B ve Offset'in 3 yaşındaki kızı Kulture, yeni örgülü saç modelini Instagram'da sergiledi.
Selena Gomez daha önce arkadaşı Cara Delevingne için "Çok eğlenceli ve son derece maceracı" dedi.
Şarkıcı Perşembe günü fitness rutinini değiştirmeye karar verdi.
Jamie Dornan, Superman rolü için seçmelere katıldığını ancak Henry Cavill'e yenildiğini açıkladı; ve Marvel ile MCU'ya katılma hakkında konuştu.