Python karşılaştırması. Etkileşimli bir Python eğitimi

  • 18.06.2019

Şebeke

Açıklama

Örnekleri

Mantıksal VE operatörü. Her iki işlenen de doğruysa koşul doğru olacaktır.

True ve True eşittir True. Doğru ve Yanlış eşittir Yanlış. False ve True eşittir False. False ve False, False'a eşittir.

Mantıksal operatör "VEYA". İşlenenlerden en az biri doğruysa, tüm ifade doğru olacaktır.

True veya True eşittir True. Doğru veya Yanlış eşittir Doğru. False veya True eşittir True. False veya False, False'a eşittir.

Mantıksal operatör "DEĞİL". İşlenenin boole değerini tersine çevirin.

True değil, False'a eşittir. Yanlış değil, Doğrudur.

    Python. Şube operatörleri. Koşullu operatör. Çoktan seçmeli operatör. Döngü organizasyon yapıları.

Şube operatörü (koşullu ifade, koşullu ifade)- bir operatör, yalnızca bazı mantıksal ifadeler doğruysa belirli bir komutun (komutlar dizisinin) yürütülmesini veya belirli bir komutun değerine bağlı olarak birkaç komuttan (komut kümesi) birinin yürütülmesini sağlayan bir programlama dili tasarımı ifade.

Dallanma operatörü if .... else

Koşullu operatör, bazı mantıksal ifadelerin (koşul) "true" true değerini alması koşuluyla, belirli komutların yürütülmesini uygular. Çoğu programlama dilinde, koşullu bir ifade if anahtar kelimesiyle başlar.

Çoktan seçmeli operatör

Çoktan seçmeli ifade, bazı elif tamsayı değişkenlerinin hangi değere sahip olacağına bağlı olarak programın farklı bölümlerini yürütmenize izin verir.

while ve for döngüleri

while ifadesi, evrensel döngüleri organize etmenin bir yolunu sağlar;

for ifadesi, dizilerdeki öğeleri geçmek ve yürütmek için tasarlanmıştır.

her biri için program kodu bloğu.

14. Python. Tuple'lar, sözlükler, listeler. dilimler

Bir demet aslında değişmez bir listedir.

Listeler varken demetlere neden ihtiyaç duyulur?

Kusursuz. Yani, demet hem kasıtlı (ki bu kötü) hem de tesadüfi (ki iyi) değişikliklerden korunur.

Aynı kötü şöhretli Tuple () işlevini kullanarak yinelenebilir bir nesneden bir demet oluşturabilirsiniz.

>>> a = demet ("merhaba, dünya!")

("Selam Dünya", "! ")

Python'da sözlükler- anahtarla erişime sahip rastgele nesnelerin sırasız koleksiyonları. Bunlara bazen ilişkisel diziler veya karma tablolar da denir.

Sözlük yöntemleri

dikte.temizle() - sözlüğü temizler.

dikte.kopya() - sözlüğün bir kopyasını döndürür.

sınıf yöntemi dict.fromkeys(seq [, değer]) - seq ve değerden anahtarlarla bir sözlük oluşturur (varsayılan Yoktur).

dict.get(anahtar [, varsayılan]) - anahtarın değerini döndürür, ancak mevcut değilse bir istisna oluşturmaz, ancak varsayılanı döndürür (varsayılan olarak Yok).

dict.items() - çiftleri (anahtar, değer) döndürür.

dict.keys() - sözlükteki anahtarları döndürür.

dict.pop(anahtar [, varsayılan]) - anahtarı kaldırır ve değeri döndürür. Anahtar yoksa, varsayılanı döndürür (varsayılan olarak bir istisna atar).

dict.popitem() - bir çifti (anahtar, değer) kaldırır ve döndürür. Sözlük boşsa KeyError atar. Sözlüklerin sırasız olduğunu unutmayın.

dict.setdefault(anahtar [, varsayılan]) - anahtarın değerini döndürür, ancak mevcut değilse, bir istisna oluşturmaz, ancak varsayılan değere sahip bir anahtar oluşturur (varsayılan olarak Yok).

dikte.güncelleme() - diğerinden (anahtar, değer) çiftleri ekleyerek sözlüğü günceller. Mevcut anahtarların üzerine yazılır. Yok döndürür (yeni bir sözlük değil!).

dikt.değerler() - Sözlükteki değerleri döndürür.

Listeler nedir?

Python'daki listeler, rastgele türlerdeki nesnelerin değiştirilebilir koleksiyonlarıdır (neredeyse bir dizi gibi, ancak türler farklı olabilir).

Listeleri kullanmak için onları oluşturmanız gerekir. Liste oluşturmanın birkaç yolu vardır. Örneğin, yerleşik işlev listesi : ile yinelenebilir herhangi bir nesneyi (bir dize gibi) işleyebilirsiniz.

Liste yöntemleri tablosu

Yöntem Ne yapar

list.append (x) Listenin sonuna bir öğe ekler

list.extend (L) L'nin tüm öğelerini sonuna ekleyerek listeyi genişletir

list.insert (i, x) i-inci öğeye x değerini ekler

list.remove (x) Listedeki x değerine sahip ilk öğeyi kaldırır

list.pop ([i]) i-th öğesini kaldırır ve döndürür. Dizin belirtilmemişse, son öğe kaldırılır

list.index (x,]) İlk öğenin konumunu x değeriyle baştan sona döndürür

list.count (x) x değerine sahip öğelerin sayısını verir

list.sort () Listeyi bir işleve göre sıralar

list.reverse () Listeyi genişletir

list.copy () Bir listenin sığ bir kopyası (python 3.3'te yeni)

list.clear () Listeyi temizler (python 3.3'te yeni)

dilimler

Python'da dizinlerin yanı sıra dilimler de vardır.

item - bir ADIM adımıyla BAŞLANGIÇ numarasından STOP'a (bu dahil değil) bir dilim alır. Varsayılan olarak, BAŞLAT = 0, DUR = nesne uzunluğu, ADIM = 1. Buna göre, bazı (ve muhtemelen tüm) parametreler atlanabilir.

>>> bir =

Ayrıca, tüm bu parametreler negatif olabilir:

>>> bir =

>>> bir [:: - 1]

>>> bir [-2 :: - 1]

>>> bir

Son örnekte, BAŞLAT'tan beri boş bir liste elde edilir.< STOP, а STEP отрицательный. То же самое произойдёт, если диапазон значений окажется за пределами объекта:

>>> bir =

>>> bir

Ayrıca, dilimleri kullanarak, yalnızca öğeleri çıkarmakla kalmaz, aynı zamanda öğe ekleyip kaldırabilirsiniz (elbette, yalnızca değiştirilebilir diziler için).

>>> bir =

>>> bir =

26 10.2017

Belirli sayılar veya işlevlerle etkileşim, bir tür işlem gerektirir. Toplama, çıkarma, çarpma, bölme diyelim. Örneğin aritmetik kök ve üs alma. Python ifadeleri önemlidir. Onlar olmadan, hiçbir program olmazdı. Ve mevcut tüm operatörleri listelemek için bütün bir bölüm vurgulanmıştır.

Bu yazıda şunları öğreneceksiniz:

Herkese merhaba, okuyucular, konuklar ve arkadaşlar, Gridin Semyon sizlerle. Geçenlerde abonelerim arasında küçük bir anonim anket yaptım. Veritabanıma 35 kişi üye oldu. Mektupların yalnızca yarısı okundu ve ankete yalnızca üç kişi yanıt verdi. Ama biliyorsun, bu benim için çok büyük bir sonuç. Sonuçta, tek bir yerde durmamanız güzel.

Aslında blog geliştirme konusunda çok fazla fikrim ve düşüncem var. Uzun zamandır PLC'lere dayalı ev yapımı ürünler ve Raspberry PI hakkında bir bölüm açmayı planlıyorum. Sadece projelerimi değil sitede yayınlamak istiyorum. Ama aynı zamanda, kesinlikle parasal bir ödül ve sosyal ile doğrudan bir bağlantı için diğer yazarların projeleri. ağlar.

Ayrıca şu bölümleri de açacağım:

  • Robotik haberleri;
  • Quadrocopters;
  • Kütüphaneler;
  • Robot mekaniği;

Yarışmalar, yarışmalar ... Herkes ödülleri, ikramiyeleri ve hediyeleri sever. Ben de seviyorum, ancak hiçbir yere katılmadım. Henüz böyle bir vakam olmadı. Kesinlikle yarışmalar düzenleyeceğim.

Hala 1 puanla baş edemiyorum. Kaliteli makaleler yazmak zaman alır. Şimdiye kadar her şeyi optimize etmek ve zamanında uyum sağlamak mümkün olmadı.

Aslında çok çeşitli konular var. Konu çok yönlü ve kapsamlı. Yavaş yavaş kapatacağız. Ve pratik örnekleri analiz edin. Ben daha çok bir uygulayıcıyım.

Biliyor musun, kaynağımın işe yaramaz olmaması çok güzel. Birine fayda sağladığın çok hoş bir duygu. Bu, sitede çalışmak ve devam etmek için çok motive edici. arkadaşlar da teşekkür ederim. Önümüzdeki birkaç yıl boyunca siteyi alakalı tutmaya çalışıyorum.

Operatör nedir?

Operatörler, sayılarla veya başka bir işleve bir işlev atamak için bazı özel haritalar ve eylemler olarak anlaşılır. Basit bir ifadeyle, 4 + 5 = 9. Sayılara işlenenler ve "+" ve "=" operatörleri denir. Eh, genel olarak, böyle bir şey.

Dilde birkaç türü vardır. Eh, diğer herhangi bir dilde olduğu gibi.

  1. aritmetik operatörler;
  2. karşılaştırma operatörleri (karşılaştırma veya ilişki operatörleri);
  3. atama operatörleri;
  4. mantıksal operatörler;
  5. bitsel operatörler;
  6. üyelik operatörleri;
  7. kimlik operatörleri

Aritmetik operatörler

ŞebekeAçıklamaÖrnekleri
+ Toplama - Operatörün soluna ve sağına değerler ekler15 + 5, 20 ile sonuçlanır
20 + -3 sonuç 17
13.4 + 7 sonuç 20.4
Çıkarma - Sağ işleneni soldan çıkarır15 - 5, 10 ile sonuçlanır
20 - -3 ile sonuçlanan 23
13.4 - 7, sonuç olarak 6.4
* Çarpma - İşlenenleri çarpar5 * 5, 25 ile sonuçlanır
7 * 3.2 sonuç 22.4'tür
- 3 * 12 ile sonuçlanan -36
/ Bölme - Sol işleneni sağa böler15/5 sonuç 3
5/2, 2 ile sonuçlanır (Python 2.x sürümünde iki tamsayıyı bölerken sonuç bir tamsayı olacaktır)
5.0 / 2 sonuç 2.5 olacaktır ("Doğru" sonucu elde etmek için en az bir işlenen bir kayan nokta olmalıdır)
% Modulo Division - Sol işleneni sağ işlenene böler ve kalanı döndürür.%6 2 0 ile sonuçlanacak
%7 2, 1 ile sonuçlanır
%13,2 5 sonucunda 3,2
** Üs - Sol işleneni sağın gücüne yükseltir5 ** 2, 25 ile sonuçlanır
2 ** 3 sonuç 8
- 3 ** 2, -9 ile sonuçlanır
// Tamsayı bölümü - Sonucun yalnızca tamsayı kısmının döndürüldüğü bölüm. Virgülden sonraki kısım atılır.12 // 5, 2 ile sonuçlanacak
4 // 3, 1 ile sonuçlanır
25 // 6, 4 ile sonuçlanır

Karşılaştırma Operatörleri

ŞebekeAçıklamaÖrnekleri
== Her iki işlenenin de eşit olup olmadığını kontrol eder. Evet ise, o zaman koşul gerçek olur.5 == 5, True ile sonuçlanacak
True == False, False ile sonuçlanır
"Merhaba" == "merhaba" True ile sonuçlanacak
!= 12! = 5, True ile sonuçlanır
False! = False, False ile sonuçlanır
"Merhaba"! = "Merhaba" True ile sonuçlanacak
<> Her iki işlenenin de eşit olup olmadığını kontrol eder. Değilse, koşul gerçek olur.12 <>5 True ile sonuçlanır. Görünüşe göre! = Operatör
> Sol işlenenin değerinin sağ işlenenin değerinden büyük olup olmadığını kontrol eder. Evet ise, o zaman koşul gerçek olur.5> 2, True ile sonuçlanacaktır.
True> False, True ile sonuçlanır.
"A"> "B" False ile sonuçlanır.
< Sol işlenenin değerinin sağ işlenenin değerinden küçük olup olmadığını kontrol eder. Evet ise, o zaman koşul gerçek olur.3 < 5 в результате будет True.
NS< False в результате будет False.
"A"< «B» в результате будет True.
>= Sol işlenenin değerinin sağ işlenenin değerinden büyük veya ona eşit olup olmadığını kontrol eder. Evet ise, o zaman koşul gerçek olur.1> = 1, True ile sonuçlanacaktır.
23> = 3.2, True ile sonuçlanır.
"C"> = "D" False ile sonuçlanır.
<= Sol işlenenin değerinden sağ işlenenin değerinden küçük veya ona eşit kontrol eder. Evet ise, o zaman koşul gerçek olur.4 <= 5 в результате будет True.
0 <= 0.0 в результате будет True.
— 0.001 <= -36 в результате будет False.

atama operatörleri

ŞebekeAçıklamaÖrnekleri
= Sağdaki işlenenin değerini soldakine atar.c = 23 değişkeni 23 değerine atayacaktır.
+= Sağdaki işlenenin değerini soldakine ekleyin ve bu toplamı soldaki işlenene atayın.c = 5
bir = 2
c + = a şuna eşittir: c = c + a. c eşittir 7
-= Sağ işlenenin değerini soldan çıkarır ve sonucu sol işlenene atar.c = 5
bir = 2
c - = a şuna eşittir: c = c - a. c eşittir 3
*= Sağ işleneni sol işlenenle çarpar ve sonucu sol işlenene atar.c = 5
bir = 2
c * = a şuna eşittir: c = c * a. c 10 olacak
/= Sol işleneni sağa böler ve sonucu sol işlenene atar.c = 10
bir = 2
c / = a şuna eşittir: c = c / a. c eşittir 5
%= Modulo işlenenlerini böler ve sonucu soldakine atar.c = 5
bir = 2
c% = a şuna eşittir: c = c % a. c 1'e eşit olacak
**= Sol işleneni sağ işlenenin gücüne yükseltir ve sonucu sol işlenene atar.c = 3
bir = 2
c ** = a şuna eşittir: c = c ** a. c 9 olacak
//= Sol işlenenin sağ tarafından tamsayıya bölünmesini gerçekleştirir ve sonucu sol işlenene atar.c = 11
bir = 2
c // = a şuna eşittir: c = c // a. c eşittir 5

bitsel operatörler

Bilgisayar bilimi dersleri almamış olanlar için. a = 60 ve b = 13 olmak üzere iki sayımız olduğunu düşünelim. İkili sistemde a = 0011 1100 ve b = 0000 1101 gibi görünecekler.

Sonunda onlarla ne yapabilirsiniz?

ŞebekeAçıklamaÖrnekleri
& İkili "AND" operatörü, yalnızca bit her iki işlenende de mevcutsa sonuca biraz kopyalar.(a & b) bize 12'yi verecek, ki bu ikili sistemde 0000 1100 gibi görünüyor
| İkili "VEYA" operatörü, en az bir işlenende mevcutsa, biraz kopyalar.(a | b) bize 61 verecek, ikili 0011 1101
^ İkili "Exclusive OR" operatörü, yalnızca bit işlenenlerden birinde varsa, ancak her ikisinde birden yoksa biraz kopyalar.(a ^ b) bize ikili kod 0011 0001'de 49 verecek
~ İkili ücretsiz operatör. Teklidir (yani, yalnızca bir işlenene ihtiyaç duyar), bitleri tersine çevirir, bir olan yerde sıfır olur ve bunun tersi de geçerlidir.(~ a) -61 ile sonuçlanır, ikili sistemde 1100 0011 gibi görünür.
<< Bit düzeyinde sola kaydırma. Sol işlenenin değeri, sağ işlenende belirtilen bit sayısı kadar sola "kaydırılır".a<< 2 в результате даст 240, в двоичном формате 1111 0000
>> Bit düzeyinde sağa kaydırma. Sol işlenenin değeri, sağ işlenende belirtilen bit sayısı kadar sağa "kaydırılır".a >> 2 ikili olarak 15 verir, 0000 1111

Mantıksal operatörler

Üyelik operatörleri

Bu operatörler, bileşik öğelerdeki (dizeler, demetler, listeler ve sözlükler) tek tek öğeleri kontrol etmek için gereklidir.

Kimlik Operatörleri

Operatör önceliği

ŞebekeAçıklama
** üs alma
~ + — ücretsiz operatör
* / % // Çarpma, bölme, modulo bölme, tamsayı bölme.
+ — Toplama ve çıkarma.
>> << Bit düzeyinde sağa kaydırma ve bit düzeyinde sola kaydırma.
& İkili "VE".
^ | İkili "Özel VEYA" ve ikili "VEYA"
<= < > >= Karşılaştırma Operatörleri
<> == != Eşitlik Operatörleri
= %= /= //= -= += *= **= atama operatörleri
değil Özdeş operatörler
içinde değil Üyelik operatörleri
değil veya ve Mantıksal operatörler

İşte böyle küçük bir operatör listesi. Python'da programlama yaparken bu sayfa sizin için bir referans olsun.

Geçenlerde I.V.'den bir kitap aldım. Petrova "Otomatik sistemlerde programlanabilir kontrolörler". Çok şey yazıyor gibiyim ama yine de bir profesyonel gibi hissetmiyorum:

Her nasılsa vazgeçmenin ve projemi bırakmanın eşiğindeydim. Bir şeyler yapmak için motivasyon arardım. Tüm eylemlerde anlam arıyordum, diye düşündüm ve sonunda bana sonucu ne verecek? Ve yine motivasyon arıyordum ...

Neden ben, şimdi tekrar klavyeye tıklıyorum ve monitöre bakıyorum. Ve yine bir makale yazdım, bu satırları yazıyorum, bazen neden ve neden bilmeden, bu beni eninde sonunda nereye götürecek?

Evet zorlanıyorum evet bir çok şeyi yapamıyorum. Ama bununla savaşmalısın.

Biliyor musun, yaptığın şeye bakılırsa, bir vızıltı alman gerekiyor, hala bir kez yaşıyoruz.

Motivasyon konusunda bir kez daha George Carlin'in bu konuda ne dediğine bakın, küfür için özür dilerim.

Saygılarımla, Gridin Semyon

Çoğu zaman gerçek hayatta, bir ifadeye katılır veya reddederiz. Örneğin, size 3 ve 5'in toplamının 7'den büyük olduğu söylenirse, "Evet, doğrudur" diyeceksiniz. Biri üç ile beşin toplamının yediden az olduğunu iddia ederse, böyle bir ifadeyi yanlış kabul edeceksiniz.

Bu tür ifadeler yalnızca iki olası yanıt önerir - ifade doğru veya doğru olarak değerlendirildiğinde "evet" veya ifade hatalı veya yanlış olarak değerlendirildiğinde "hayır". Programlama ve matematikte, bir ifadeyi değerlendirmenin sonucu yalnızca doğru veya yanlış olabilirse, böyle bir ifadeye mantıksal denir.

Örneğin, 4> 5 ifadesi mantıklıdır çünkü doğru veya yanlış olarak değerlendirilir. 4 + 5 ifadesi, yürütülmesinin sonucu bir sayı olduğu için mantıklı değildir.

Geçen derste, üç tür veriyle tanıştık - tamsayılar ve gerçek sayılar ve ayrıca dizeler. Bugün dördüncü tanıtacağız - boole veri türü(bool yazın). Boolean olarak da adlandırılır. Bu türün yalnızca iki olası değeri vardır: NS(doğru) ve YANLIŞ(Uzanmak).

>>> a = Doğru >>> (a) yazın >>> b = Yanlış >>> (b) yazın

Burada, a değişkenine True değeri atanır ve ardından Python yerleşik type() işlevi kullanılarak türü kontrol edilir. Yorumlayıcı bunun bir bool sınıfı değişkeni olduğunu bildirdi. Bu durumda "sınıf" ve "veri türü" kavramları aynıdır. b değişkeni ayrıca bir boole değeriyle ilişkilidir.

Programlamada, False genellikle sıfıra ve True bire eşittir. Bunu doğrulamak için bir boole değerini tamsayı türüne dönüştürebilirsiniz:

>>> int (Doğru) 1 >>> int (Yanlış) 0

Bunun tersi de mümkündür. Herhangi bir değeri bir boole türüne dönüştürebilirsiniz:

>>> bool (3.4) NS >>> bool (-150) NS >>> bool (0) YANLIŞ >>> bool ("") NS >>> bool ("") YANLIŞ

Ve burada kural çalışır: 0 olmayan ve boşluk olmayan her şey doğrudur.

Mantıksal operatörler

Doğal bir dilde (örneğin, Rusça) konuşurken, "eşit", "daha fazla", "daha az" kelimeleriyle karşılaştırmaları belirtiriz. Programlama dillerinde, matematikte kullanılanlara benzer özel karakterler kullanılır:> (devamı),< (меньше), >= (büyük veya eşit),<= (меньше или равно), == (равно), != (не равно).

Python'da tek eşittir işaretiyle gösterilen bir değişkenin atamasını ve karşılaştırmayı (iki eşittir işareti) karıştırmayın. Atama ve karşılaştırma farklı işlemlerdir.

>>> bir = 10 >>> b = 5 >>> a + b> 14 NS >>> bir< 14 - b YANLIŞ >>> bir<= b + 5 NS >>> a! = b NS >>> a == b YANLIŞ >>> c = a == b >>> a, b, c(10, 5, Yanlış)

Bu örnekte, c ifadesi = bir == b iki alt ifadeden oluşur. İlk olarak, a ve b değişkenlerinin bir karşılaştırması (==) var. Bundan sonra, mantıksal işlemin sonucu c değişkenine atanır. ifade bir , M.Ö sadece değişkenlerin değerlerini ekrana yazdırır.

Karmaşık mantıksal ifadeler

kByte> = 1023 gibi Boole ifadeleri basittir çünkü yalnızca bir Boole işlemi gerçekleştirirler. Ancak pratikte genellikle daha karmaşık ifadelere ihtiyaç duyulmaktadır. İki basit ifadenin sonucuna göre “Evet” veya “Hayır” cevabı almanız gerekebilir. Örneğin, "dışarıda kar yağıyor veya yağmur yağıyor", "haber değişkeni 12'den büyük ve 20'den küçük".

Bu gibi durumlarda, iki veya daha fazla basit mantıksal ifadeyi birleştiren özel operatörler kullanılır. İki operatör yaygın olarak kullanılmaktadır - sözde mantıksal AND ( ve) ve VEYA ( veya).

ve, bu operatörün bağladığı her iki basit ifadenin sonuçlarının doğru olması gerekir. En az bir durumda sonuç False ise, tüm karmaşık ifade yanlış olacaktır.

Operatörü kullanırken True almak için veya, karmaşık bir ifadeye dahil edilen en az bir basit ifadenin sonucunun doğru olması gerekir. Operatör durumunda veya karmaşık bir ifade, yalnızca onu oluşturan basit ifadelerin her ikisi de yanlış olduğunda yanlış olur.

x değişkenine 8 (x = 8), y değişkenine 13 (y = 13) değeri atandığını varsayalım. Boole ifadesi y< 15 and x >8 aşağıdaki gibi yürütülecektir. İlk önce y ifadesi yürütülecek< 15 . Его результатом будет True. Затем выполнится выражение x >sekiz . Sonucu False olacaktır. Ayrıca, ifade True ve False'a indirgenecek ve False döndürecektir.

>>> x = 8 >>> y = 13 >>> y< 15 and x > 8 YANLIŞ

İfadeyi şöyle yazarsak: x> 8 ve y< 15 , то оно также вернуло бы False. Однако сравнение y < 15 не выполнялось бы интерпретатором, так как его незачем выполнять. Ведь первое простое логическое выражение (x >8) zaten false döndürdü, bu ve operatörü durumunda, tüm ifadeyi false döndürür.

veya operatörü söz konusu olduğunda, ilkinin false döndürüp döndürmediği ikinci basit ifade kontrol edilir ve birincisinin zaten true olarak döndürülüp döndürülmediği kontrol edilmez. Tüm ifadenin doğru olması için tek bir Doğru yeterli olduğundan, hangi tarafta olduğu önemli değildir.

>>> y< 15 or x > 8 NS

Python'un ayrıca tekli bir mantıksal işleci vardır. Olumsuz, yani olumsuzlama. Gerçeği yalana, yalanı gerçeğe dönüştürür. Birlidir, çünkü ikili ve ve veya durumunda olduğu gibi sağına ve soluna değil, kendisinden sonraki tek bir ifadeye uygulanır.

Operatörler, işlenenlerin değerini değiştirebilen yapılardır. 4 + 5 = 9 ifadesini ele alalım. Burada 4 ve 5'e işlenen, + ise operatör olarak adlandırılır.

Operatör türleri

Python dili aşağıdaki operatör türlerini destekler:

  • Aritmetik operatörler
  • Karşılaştırma (ilişkisel) operatörleri
  • atama operatörleri
  • Mantıksal operatörler
  • bitsel operatörler
  • Üyelik Operatörleri
  • tanımlama operatörleri

Şimdi tüm operatörlere tek tek göz atalım.

Python'da Aritmetik Operatörler

a değer 10'dur ve değişken B 21 değerini içerir, ardından:

ŞebekeAçıklamaörnek
+ EklemeOperatörün her iki tarafına da değerler ekleme.a + b = 31
- çıkarmaSağ işlenenin sol işlenenden çıkarılması.a - b = -11
* Çarpma işlemiOperatörün her iki tarafındaki bir değerin çarpımıa * b = 210
/ BölümSol işleneni sağ işlenene bölers / a = 2.1
% ModülSol işleneni sağ işlenene böler ve kalanı verir%b a = 1
** KatılımcıOperatörler üzerinde üstel hesaplama yapara ** b = 10 üzeri 20
// yuvarlama ile bölmeCinsiyet Bölmesi - Sonucun ondalık noktanın kaldırıldığı bir faktör olduğu işlenenlerin bölünmesi. Ancak işlenenlerden biri negatifse sonuç yuvarlanır, yani. sıfırdan uzaklaşır (negatif sonsuza doğru):9 // 2 = 4 ve 9.0 // 2.0 = 4.0, -11 // 3 = -4, -11.0 // 3 = -4.0

Python'da Karşılaştırma Operatörleri

Operatörler her iki taraftaki değerleri karşılaştırır ve aralarındaki ilişkiye karar verir. Bunlara ilişkisel operatörler de denir.

değişken varsayalım a 10 değerini ve değişkeni içerir B 20 değerine sahipse:

ŞebekeAçıklamaörnek
== İki işlenenin değerleri eşitse, koşul doğru olur.(a == b) doğru değil.
!= İki işlenenin değerleri eşit değilse, koşul doğru olur.(a! = b) doğrudur.
> Sol işlenenin değeri sağ işlenenin değerinden büyükse, koşul doğru olur.(a>b) doğru değildir.
< Sol işlenenin değeri sağ işlenenin değerinden küçükse, koşul doğru olur.(a< б) истинно.
> = Sol işlenenin değeri, sağ işlenenin değerinden büyük veya ona eşitse, koşul doğru olur.(a> = b) doğru değil.
<= Sol işlenenin değeri, sağ işlenenin değerinden küçük veya ona eşitse, koşul doğru olur.(a<= б) истинно.

Python'da Atama Operatörleri

Değişkenin içerdiğini varsayalım a değer 10'dur ve değişken B 20 değerine sahipse:

ŞebekeAçıklamaörnek
= İşlenenlerin sağ tarafı ile işlenenin sol tarafına değerler atarc = a + b, a + b'nin değerini c'ye atar
+ = Ekle veSağ işleneni sol işlenene ekler ve sonucu sol işlenene atarc + = a, c = c + a'ya eşdeğerdir
- = çıkarma veSağ işleneni sol işlenenden çıkarır ve sonucu sol işlenene atarc - = a, c = c - a'ya eşdeğerdir
* = çarpma veSağ işleneni sol işlenenle çarpar ve sonucu sol işlenene atarc * = a, c = c * a'ya eşdeğerdir
/ = bölünmüş veSol işleneni sağ işlenene böler ve sonucu sol işlenene atarc / = a, c = c / ac / = a ile eşdeğerdir, c = c / a ile eşdeğerdir
% = Modül veİki işlenenli bir modülü kabul eder ve sonucu sol işlenene atarc% = a, c = c% a'ya eşittir
** = Katılımcı veOperatörlerin üssünü hesaplar ve sol işlenenin değerini atarc ** = a, c = c ** a'ya eşdeğerdir
// = Kat BölümüOperatörlerde yuvarlama ile bölme yapar ve sol işlenenin değerini atarc // = a, c = c // a'ya eşdeğerdir

Python'da bitsel operatörler

Bitsel operatörler, bitler üzerinde çalışır ve işlemleri parça parça gerçekleştirir. Diyelim ki a = 60 ise; ve b = 13; Şu anda ikili dosyada şöyle görünecekler:

—————–

a & b = 0000 1100

a | b = 0011 1101

bir ^ b = 0011 0001

Python'un yerleşik bin () işlevi, bir tamsayının ikili gösterimini elde etmek için kullanılabilir.

Aşağıdaki Bitsel Operatörler Python dili tarafından desteklenir:

ŞebekeAçıklamaÖrnek
& ikili VEsonuç olarak, her iki işlenende de varsa, bit operatörünün kopyaları(a & b) (0000, 1100 anlamına gelir)
| ikili VEYAişlenenlerden herhangi birinde varsa biraz kopyalar.(a | b) = 61 (0011 1101 anlamına gelir)
^ ikili Özel veyabir işlenende ayarlanmışsa biraz kopyalar, ancak ikisinde birden değil.(a ^ b) = 49 (0011 0001 anlamına gelir)
~ İkili tamamlayıcıTeklidir ve bir saygısız bit etkisine sahiptir.(~ a) = -61 (form olarak, imzalı ikili sayı nedeniyle çift tümleyen 1100 0011 anlamına gelir.
<< Двоичный сдвиг влево Sol işlenenin değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sola taşınır.a<< = 240 (1111 означает 0000)
>> İkili Sağa KaydırmaSol işlenenin değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sağa taşınır.a >> = 15 (0000, 1111 anlamına gelir)

Python'da Boole operatörleri

Aşağıdaki mantıksal işleçler Python dili tarafından desteklenir. Değişkenin adil olduğunu ve değişkenin B Yanlış ise:

Python'da Üye Operatörler

Dizeler, listeler veya demetler gibi bir dizideki üyeliği test eden operatörlerin durumu. Aşağıda açıklandığı gibi iki üyelik operatörü vardır:

Python Kimlik Operatörleri

Kimlik operatörleri, iki nesnenin bellek konumlarını karşılaştırır. Aşağıda açıklandığı gibi iki tanımlama ifadesi vardır:

Python öncelik operatörleri

Aşağıdaki tablo, en yüksek öncelikliden en düşük önceliğe kadar tüm operatörleri listeler.

Seri numarasıOperatör ve Açıklama
1 **

Üs (güç artışı)

2 ~ + –

Tamamlayıcı, tekli artı ve eksi (son ikisi için yöntem adları + @ ve - @ şeklindedir)

3 * / % //

Çarpma, modulo bölme ve modulo kalanı

4 + –

Toplama ve çıkarma

5 >> <<

Sağ ve sol bitsel kaydırma

6 &

Bit düzeyinde "VE"

7 ^ |

Bit düzeyinde özel "VEYA ve normal VEYA"

8 <= <>> =

karşılaştırma operatörleri

9 <> ==! =

eşitlik operatörleri

10 = %= /= //= -= += *= **=

atama operatörleri

11 değil

tanımlama operatörleri

12 içinde değil

üyelik operatörleri

13 değil veya ve

Mantıksal operatörler

Boolean veri türü (veya Boolean), iki olası değerden birini kabul eden ilkel bir türdür: Doğru veya Yanlış. Bu tür, birçok programlama dilinde algoritma oluşturmak ve programların davranışını kontrol etmek için kullanılır.

Not: Bu veri türünün adı (Boolean), adını matematiksel mantık eğitimi almış matematikçi George Boolean'dan aldığı için her zaman büyük harfle yazılır. True ve False da büyük harfle yazılır - bunlar Python'da özel değerlerdir.

Bu eğitim size Python'daki Boole mantığının temellerini tanıtacaktır: karşılaştırma operatörleri, mantıksal operatörler, doğruluk tabloları ve daha fazlası.

Karşılaştırma Operatörleri

Programlamada, karşılaştırma operatörleri, değerleri değerlendirirken ve karşılaştırırken, daha sonra bunları tek bir boole değerine (Doğru veya Yanlış) indirgemek için kullanılır.

Python 3 karşılaştırma operatörleri bu tabloda sunulmaktadır:

Şebeke Anlam
== Bileşenler arasındaki eşitliği kontrol eder; bileşenler eşitse koşul doğrudur.
!= Bileşenler arasındaki eşitliği kontrol eder; eğer bileşenler eşit DEĞİLSE koşul doğrudur.
< Sol bileşenin değerini değerlendirir; doğru olandan daha az ise koşul doğrudur.
> Sol bileşenin değerini değerlendirir; koşul, doğru olandan büyükse doğrudur.
<= Sol bileşenin değerini değerlendirir; koşul, doğru bileşenden küçük veya ona eşitse doğrudur.
>= Sol bileşenin değerini değerlendirir; koşul, doğru bileşenden büyük veya ona eşitse doğrudur.

Nasıl çalıştıklarını görmek için bu operatörlerle çalışmayı deneyin. İlk önce, birkaç değişken oluşturun:

Şimdi yukarıdaki operatörleri kullanarak değişkenlerin değerlerini karşılaştırın.

x = 5
y = 8
yazdır ("x == y:", x == y)
yazdır ("x! = y:", x! = y)
yazdır ("x< y:", x < y)
yazdır ("x> y:", x> y)
yazdır ("x<= y:", x <= y)
yazdır ("x> = y:", x> = y)
x == y: Yanlış
x! = y: Doğru
x< y: True
x> y: Yanlış
x<= y: True
x> = y: Yanlış

Matematiksel mantığı takip eden Python, değişkenlerin değerleri arasındaki ilişkileri şu şekilde değerlendirir:

  • 5, 8'e eşit mi? Yalan
  • 5, 8'e eşit değil mi? NS
  • 5, 8'den küçük mü? NS
  • 5, 8'den büyük mü? Yalan
  • 5, 8'den küçük mü yoksa eşit mi? NS
  • 5, 8'den büyük mü yoksa 8'e eşit mi? Yalan

Karşılaştırma operatörleri, kayan nokta sayılarına ve dizilerine de uygulanabilir.

Not: Dizeler büyük/küçük harf duyarlıdır; bu davranışı devre dışı bırakmak için özel bir yöntem kullanmanız gerekir.

İki satırı karşılaştırmayı deneyin:

Merhaba = "Merhaba"
merhaba = "merhaba"

Merhaba == merhaba: Yanlış

Merhaba ve merhaba dizeleri aynı karakter kümesini içerir, ancak bunlardan biri büyük harfli karakterler içerdiğinden eşit değildirler. Büyük harfli karakterler de içeren başka bir değişken eklemeyi deneyin ve ardından bunları karşılaştırın.

Merhaba = "Merhaba"
merhaba = "merhaba"
Hello_there = "Merhaba"
print ("Merhaba == merhaba:", Merhaba == merhaba)
print ("Merhaba == Merhaba_burada", Merhaba == Merhaba_burada)
Merhaba == merhaba: Yanlış
Merhaba == Merhaba_burada: Doğru

Ayrıca > ve<. Python выполнит лексикографическое сравнение строк на основе значений символов ASCII.

Karşılaştırma operatörleri True ve False Boole değerlerine uygulanabilir:

t = Doğru
f = Yanlış
yazdır ("t! = f:", t! = f)
t! = f: Doğru

= ve == operatörleri arasındaki farka dikkat edin.

x = y # Atama operatörü. x ve y arasındaki eşitliği ayarlar (yani, x'i y'ye ayarlar).
x == y # Karşılaştırma operatörü. x ve y arasındaki eşitliği test eder ve ifadeyi doğru veya yanlış olarak değerlendirir. x ve y eşitse ifade doğrudur.

Mantıksal operatörler

Sonuçları True veya False Boole değerine indirgeyen değerleri karşılaştırmak için üç Boole operatörü kullanılır.

Boolean operatörleri genellikle iki veya daha fazla ifadeyi değerlendirmek için kullanılır. Örneğin, aşağıdakileri kontrol eden bir programda kullanılabilirler:

  • Öğrenci sınavı geçti mi?
  • ve kayıtlı olup olmadığı.

Her iki değerin de doğru olması durumunda öğrenci bir sonraki derse aktarılacaktır.

Başka bir örnek: mantıksal operatörlere sahip bir program, kullanıcının çevrimiçi bir mağazadaki etkinliğini kontrol edebilir:

  • mağaza kredisi kullandı mı
  • veya Son 6 ayda ürün sipariş edip etmediğini.

Örneğin, üç ifadeyi karşılaştırmayı deneyin:

yazdır ((9> 7) ve (2< 4)) # Her iki ifade de doğrudur
yazdır ((8 == 8) veya (6! = 6) # İfadelerden biri True
yazdır (değil (3<= 1)) # İfade yanlış
NS
NS
NS

İlk durumda, her iki ifade de doğrudur, bu nedenle and operatörü True değerini döndürür.

İkinci durumda, yalnızca 8 == 8 değeri doğrudur.Önerilen koşullardan en az biri doğru olduğundan, or operatörü True döndürür. and operatörü daha sonra False döndürür.

Üçüncü durumda, ifade 3<= 1 ложно. Оператор not изменяет полученное логическое значение на противоположное: not False = True.

Şimdi kayan nokta sayılarını karşılaştırmayı deneyin.

yazdır ((- 0.2> 1.4) ve (0.8)< 3.1)) # İfadelerden biri Yanlış
yazdır ((7.5 == 8.9) veya (9.2! = 9.2)) # Her iki ifade de yanlış
yazdır (değil (-5.7<= 0.3)) # İfade doğrudur

  • İlk örnekte ifadelerden biri yanlış olduğundan ve False döndüreceğinden. and operatörü, bir ifadeyi yalnızca her iki bileşen de doğru olduğunda doğru olarak değerlendirir.
  • Her iki ifade de yanlış olduğundan, veya operatörü False değerini döndürür.
  • İfade doğru olduğundan, değil operatörü False (True = False değil) döndürür.

Not: Nasıl çalıştığını anlamıyorsanız, doğruluk tablolarını anlamanıza yardımcı olabilirler. Bu konuyu bu kılavuzda daha sonra ele alacağız.

Mantıksal operatörler, bileşik ifadelerde birleştirilebilir:

değil ((- 0.2> 1.4) ve ((0.8)< 3.1) or (0.1 == 0.1)))

İfade (0.8< 3.1) or (0.1 == 0.1) истинно, поскольку оба математических выражения, из которых оно состоит, истинны. Оператор or вернёт True.

Elde edilen True değeri şu ifadenin bir bileşeni olur: (-0.2> 1.4) ve (True). -0.2> 1.4 ifadesi yanlış olduğundan ve operatörü False değerini döndürür. (Yanlış) ve (Doğru) = Yanlış.

doğruluk tabloları

Matematiksel mantık, programlamada çok faydalı bir bilgi alanıdır. Bu kılavuzda, bunun ana yönlerine bir göz atacağız.

Aşağıda karşılaştırma operatörü == ve tüm mantıksal operatörler için doğruluk tabloları bulunmaktadır. Mantıksal ifadeler yazarken kullanılabilirler. Tablolar, operatörün ortak kullanımlarını listeler, bu nedenle bunları ezberlemeniz önerilir.

Operatör için doğruluk tablosu ==

AND operatörü için doğruluk tablosu

Operatör Doğruluk Tablosu VEYA

NOT operatörü için doğruluk tablosu

Doğruluk tabloları, mantıkta kullanılan genel matematiksel tablolardır. Algoritma oluştururken ve program yazarken kullanılabilmesi için bunları ezbere öğrenmek faydalıdır.

Akışı Kontrol Etmek İçin Boole Operatörlerini Kullanma

Bir programın sonucunu ve veri akışlarını kontrol etmek için koşullu ifadeleri (koşul) ifadelerle (yan tümce) kullanabilirsiniz.

Koşullu ifadeler bir değeri doğru veya yanlış olarak değerlendirir.

İfade, koşullu bir ifadeyi izleyen ve programın sonucunu belirleyen bir kod bloğudur.

Aşağıda, bir Python programının akışını kontrol etmek için koşullu ifadelerin nasıl birleştirileceğini gösteren bir kod bloğu bulunmaktadır.

eğer derece> = 65: # koşul
print ("Geçme notu") # ifade
Başka:
yazdır ("Başarısız not")

Bu program her öğrencinin performansını değerlendirir ve sınavı geçip geçmediğini belirler. Örneğin, bir öğrenci 83 yazarsa, ilk koşul Doğru olur ve program şu satırı görüntüler:

Öğrenci 59 puan almışsa, program yayınlanacağı için ilk koşul yanlış olacaktır.