• Sonuç bulunamadı

String veri tipi, programlama dillerinde metinleri(yazıları) ifade etmek için kullanılır ve tırnak içinde yazmamız gerekmektedir;

N/A
N/A
Protected

Academic year: 2022

Share "String veri tipi, programlama dillerinde metinleri(yazıları) ifade etmek için kullanılır ve tırnak içinde yazmamız gerekmektedir;"

Copied!
33
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

 İçerik

Pythonda Veri Tipleri Karakter Dizileri Sayılar

List

List Elemanlarına Erişme List Metotları

Tuple

Tuple Elemanlarına Erişme Tuple Metotları

Set

Set Metotları Dictionary

Dictionary Elemanlarına Erişme Dictionary Metotları

Veri Tipleri

String

String veri tipi, programlama dillerinde metinleri(yazıları) ifade etmek için kullanılır ve tırnak içinde yazmamız gerekmektedir;

File "<ipython-input-17-f57090ee02b7>", line 1 ali erbey

^

SyntaxError: invalid syntax

İçi boş karakter;

Boşluk karakteri;

İki karakter dizisini birleştirmek için + operatörü kullanılabilir;

'AliErbey'

İki karakter dizisi arasına boşluk bırakabilmek için 2 yöntem vardır;

. Yöntem;

In [17]: ali erbey

In [ ]: "ali erbey"

In [ ]: ""

In [ ]: " "

In [9]: "Ali" + "Erbey"

Out[9]:

(2)

'Ali Erbey'

. Yöntem;

'Ali Erbey'

Python yan yana yazılan karakterleri birleştireceğini öngörebilir.

'alierbey'

Karakter dizilerinde * işaretinin etkisi

'alialialialiali'

'hadi hadi hadi '

'boşluk uzar burada biter'

Sayılar

3 Farklı sayı türü vardır.

Integer (Tamsayı) Float (Ondalıklık Sayılar) Complex (Karmaşık Sayılar)

Integer

Tamsayı türlerinin ifade etmek için kullanılır. - ve + değerleri kapsar.

12

-17

Integer türündeki bir değerin type fonksiyonu ile çıktısı;

In [10]: "Ali" + " " + "Erbey"

Out[10]:

In [11]: "Ali " + "Erbey"

Out[11]:

In [12]: "ali" "erbey"

Out[12]:

In [13]: "ali" * 5 Out[13]:

In [14]: "hadi " * 3 Out[14]:

In [15]: "boşluk uzar" + " " * 5 + "burada biter"

Out[15]:

In [16]: a = 12 print(a)

In [17]: b = -17 print(b)

In [18]: a = 10

(3)

int

18

Float

Ondalıklı sayılar için kullanılır.

4.6

Float türündeki bir değerin type fonksiyonu ile çıktısı;

float

Complex

Karmaşık sayılar için kullanılır.

(10+4j)

Complex türündeki bir değerin type fonksiyonu ile çıktısı;

complex

Sayılar Üzerinde İşlemler

Sayılar üzerinde bilinen matematiksel operatörler olan

toplama + çıkarma - çarpma * bölme /

operatörleri kullanılabilir.

7

type(a) Out[18]:

In [7]: a = 3 b = 5

c = a + b * a print(c)

In [19]: a = 4.6 print(a)

In [20]: a = 4.6 type(a) Out[20]:

In [21]: a = 10 + 4j print(a)

In [22]: a = 10 + 4j type(a) Out[22]:

In [24]: #Toplama 3 + 4 Out[24]:

(4)

25

2.3333333333333335

6

Integer ve string arasındaki fark

Integer değişken türlerindeki veriler tırnak içerisinde yazılırsa string değişken olarak tanımlanır.

aşağıdaki örnek 12 değerinin integer olduğu görülürken "12" değerinin string olduğu görülmektedir.

int

str

Integer(Tamsayı)'lar toplandığında sayılar üzerinde bilinen toplama işlemi yapılır.

25

String ifadeler toplandığında yan yana yazılır.

1213

String ile integer toplanmak istendiğinde; ne toplama ne de yan yana yazma işlemi yapmaz, program unsupported operand type(s) for +: 'int' and 'str' hatası verir.

--- TypeError Traceback (most recent call last)

<ipython-input-27-d9b1769aa711> in <module>

----> 1 print(12 + "13")

TypeError: unsupported operand type(s) for +: 'int' and 'str'

Tür dönüşümleri

In [25]: #Çarpma 5 * 5 Out[25]:

In [26]: #Bölme 7 / 3 Out[26]:

In [27]: #Çıkarma 8 - 2 Out[27]:

In [23]: type(12) Out[23]:

In [24]: type("12") Out[24]:

In [25]: print(12 + 13)

In [26]: print("12" + "13")

In [27]: print(12 + "13")

In [ ]: yukarıdaki kod bloğunda eğer 12 ile 13 ü toplanmak istenirse tür dönüşümü yapılm

(5)

string bir ifade integer türüne dönüştürülebilmesi için ifadenin sayı içermesi gerekmektedir.

12

--- ValueError Traceback (most recent call last)

<ipython-input-51-6414b62a7162> in <module>

----> 1 print(int("ali"))

ValueError: invalid literal for int() with base 10: 'ali'

12

10.2

<class 'int'>

4.0

Boolean

Boolean ifadeler True ya da False değeri alabilen ifadelerdir. Programlamada çok sık kullanılan yapılardan biridir. Karşılaştırma ifadelerinde geriye True değeri dönerse ifadenin geçerli(doğru) olduğu, False değeri dönerse ifadenin geçersiz(yanlış) olduğu sonucu çıkarılır.

False

0

0 ve "" ifadesi haricinde bütün ifadeler true değer döndürürler.

True

False

In [50]: print(int("12"))

In [51]: print(int("ali"))

In [52]: print(str(12))

In [53]: print(float("10.2"))

In [29]: a = 4

print(type(a)) print(float(a))

In [ ]: # boolean değişken tanımlama a = True

print(a)

In [49]: a = False print(a)

In [31]: a = int(False) print(a)

In [65]: bool(4) Out[65]:

In [66]: bool(0) Out[66]:

(6)

True

True

False

Değişken Adı Belirleme

. Değişken isimleri sayı ile başlayamaz

File "<ipython-input-32-63a2f00ca374>", line 1 1sayi = 12

^

SyntaxError: invalid syntax

Değişken isimleri _ işareti ya da harf ile başlamalıdır.

12

13

12

. Anahtar kelimeler değişken ismi olarak kullanılamaz.

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

Anahtar kelimelere aşağıdaki gibi ulaşabilirsiniz;

['False', 'None', 'True', 'and', 'as', 'assert', 'async', In [67]: bool("ali") Out[67]:

In [68]: bool(" ") Out[68]:

In [69]: bool("") Out[69]:

In [32]: 1sayi = 12 print(1sayi)

In [33]: _sayi1 = 12 print(_sayi1)

In [34]: _1sayi = 13 print(_1sayi)

In [35]: sayi1 = 12 print(sayi1)

In [19]: import keyword keyword.kwlist Out[19]:

(7)

'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

. Değişken isimlerinde özel semboller kullanılamaz !, @, #, $, % ...

File "<ipython-input-20-0275a12bb2b0>", line 1 sayi@ = 12

^

SyntaxError: invalid syntax

. Değişken isimleri arasına boşluk konulmaz

File "<ipython-input-36-98d128194ac3>", line 1 sayi 1 = 12

^

SyntaxError: invalid syntax

Değişken tanımlama yöntemleri

Değişken isimleri açık ve anlaşılır olmalıdır. Örnek olarak vize notu değişkeni tanımlanmak istenildiğinde vn gibi bir değişken ismi yerine vizenotu değişken ismi tercih edilmesi daha uygundur. Çünkü programlar karmaşık hale geldiğinde değişkenlerin ne ifade ettiği

karıştırılmaması için açıklık ve anlaşılırlık önemlidir.

Öneri : Değişken isimlendirmede ikinci kelime büyük harfle başlayarak yazılabilir. Bu yöntem okunurluğu artırabilir.

In [20]: sayi@ = 12 print(sayi@)

In [36]: sayi 1 = 12 print(sayi 1)

(8)

Öneri : Değişken isimlendirmede birinci ve ikinci kelime arasına alt çizgi işareti konulabilir. Bu yöntemde okunurluğu artırabilir.

Çift yıldız ** işareti de üst almak için kullanılır.

Print()

ali erbey

print fonksiyonu içinde değişkenleri yazdırabiliriz. Değişkenleri yazdırılırken tırnak işareti kulllanılmaz.

ali erbey

Tırnak işareti kullanılırsa bir string ifade olarak değerlendirilir.

isim

ali erbey

ali erbey

ali erbey

File "<ipython-input-43-f14f11cefa8c>", line 1 print(""""ali erbey """")

^

SyntaxError: EOL while scanning string literal

File "<ipython-input-44-a04340292400>", line 1 print("ali erbey "usak" üniversitesi")

^ SyntaxError: invalid syntax In [ ]: vn = 32

In [ ]: vizenotu = 32 In [ ]: vizeNotu = 32

In [ ]: vize_notu = 32

In [37]: print("ali erbey")

In [38]: isim = "ali erbey"

print(isim)

In [39]: isim = "ali erbey"

print("isim")

In [40]: print('ali erbey')

In [41]: print("ali erbey")

In [42]: print("""ali erbey""")

In [43]: print(""""ali erbey """")

In [44]: print("ali erbey "usak" üniversitesi")

In [45]: print('ali erbey "usak" üniversitesi')

(9)

ali erbey "usak" üniversitesi

ali erbey "usak" üniversitesi

File "<ipython-input-47-37c3aaa1a322>", line 1

print('Usak'ın tek üniversitesi Usak Üniversitesi) ^

SyntaxError: invalid syntax

Usak'ın tek üniversitesi Usak Üniversitesi

ali erbey

ali erbey usak

ali erbey

File "<ipython-input-53-c55d95d64bc1>", line 1 print('ali")

^

SyntaxError: EOL while scanning string literal

ali erbey 36

alierbey36

ali,erbey,36

ali erbey

ali erbey usak

İlk sayı a = 4 ikinci sayı b = 8

In [46]: print("""ali erbey "usak" üniversitesi """)

In [47]: print('Usak'ın tek üniversitesi Usak Üniversitesi)

In [48]: print("Usak'ın tek üniversitesi Usak Üniversitesi")

In [49]: print('ali', 'erbey')

In [51]: print('ali', 'erbey', 'usak')

In [52]: print('ali', "erbey")

In [53]: print('ali")

In [54]: print("ali", "erbey", 36)

In [55]: print("ali", "erbey", "36", sep="")

In [56]: print("ali", "erbey", "36", sep=",")

In [57]: print("ali \nerbey")

In [58]: print("ali", "erbey", "usak", sep="\n")

In [59]: a,b = 4, 8

print('İlk sayı a = {} ikinci sayı b = {}'.format(a,b))

print("İlk sayı a = " + str(a) + " ikinci sayı b =" + str(b) )

(10)

İlk sayı a = 4 ikinci sayı b =8

Örnek : Yandaki çıktığı yazan kod nedir? a.l.i.e.r.b.e.y

a.l.i.e.r.b.e.y

a.l.i.e.r.b.e.y

alierbey

string ifadenin önüne getirilen * işareti, string ifadenin her bir karakterinin virgül ile ayrılmış gibi davranmasına yol açar.

a l i e r b e y

Kaçış Dizileri (Escape Sequence)

Kaçış dizisi \ ters taksim işareti ile kullanılır.

File "<ipython-input-65-c9cc8ad2c6c2>", line 1

print('Usak'ın tek üniversitesi Usak Üniversitesidir') ^

SyntaxError: invalid syntax

Usak'ın tek üniversitesi Usak Üniversitesidir

Usak'ın tek üniversitesi Usak Üniversitesidir

File "<ipython-input-4-abc4ef96906b>", line 1 print("ali erbey "Usak" Universitesi") ^

SyntaxError: invalid syntax

ali erbey "Usak" Universitesi

\n satır başı yapar.

ali erbey

\t tab(sekme) tuşuna basılmış etkisi yapar.

In [60]:

In [61]: print("a","l","i","e","r","b","e","y",sep=".")

In [62]: print(*"alierbey", sep=".")

In [63]: print("alierbey")

In [64]: print(*"alierbey")

In [65]: print('Usak'ın tek üniversitesi Usak Üniversitesidir')

In [66]: print("Usak'ın tek üniversitesi Usak Üniversitesidir")

In [3]: print('Usak\'ın tek üniversitesi Usak Üniversitesidir')

In [4]: print("ali erbey "Usak" Universitesi")

In [5]: print("ali erbey \"Usak\" Universitesi")

In [6]: print("ali \nerbey")

(11)

ali erbey

\a bip sesi çıkartır.(Windows makineler düzgün çalışır)

\r bulunduğu satırın başına döner.

erbey

File "<ipython-input-10-37ce184bd12d>", line 1 print("C:\user\alierbey\deneme.txt")

^

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in positio n 2-3: truncated \uXXXX escape

C:\user\alierbey\deneme.txt

C:\user\alierbey\deneme.txt

36

'benim adım ali erbey yaşım 36'

'benim adım ali erbey yaşım 36'

Operatörler

Operatörler, bir programlama dilinde işlevlere sahip sembollerdir. Python programlama dilinde operatörler;

1. Aritmetik Operatörler 2. Atama Operatörleri

3. Karşılaştırma Operatörleri 4. Mantıksal Operatörler 5. Kimlik Operatörleri 6. Üyelik Operatörleri In [7]: print("ali \terbey")

In [8]: print("\a")

In [9]: print("ali \rerbey")

In [10]: print("C:\user\alierbey\deneme.txt")

In [11]: print("C:\\user\\alierbey\\deneme.txt")

In [12]: print(r"C:\user\alierbey\deneme.txt")

In [28]: 32 + 4 Out[28]:

In [30]: a = "benim adım {} yaşım {}"

a.format("ali erbey", "36") Out[30]:

In [31]: a = "benim adım {} yaşım {}"

a.format("ali erbey", 36) Out[31]:

(12)

Aritmetik Operatörler

Python programlama dilinde aritmetik operatörler matematiksel işlemler yapılmasını sağlayan sembollerdir. Aşağıdaki tabloda aritmetik operatörler görülmektedir.

Operatör İsmi Operatör Örnek

Toplama + a + b

Çıkarma - a - b

Çarpma * a * b

Bölme / a / b

Üs Alma ** a ** b

Mod Alma % a % b

Taban Bölme // a // b

7

3

15

125

34359738368

1

2

2.5

2

In [1]: #Toplama print(5 + 2)

In [2]: #Çıkarma print(5 - 2)

In [3]: #Çarpma print(5 * 3)

In [4]: #Üs Alma print(5 ** 3)

In [5]: print(2 ** 35)

In [6]: #Mod Alma print(5 % 2)

In [7]: #Mod Alma print(17 % 5)

In [8]: #Bölme

print(5 / 2)

In [9]: #Taban Bölme print(5 // 2)

(13)

2

Atama Operatörler

Python programlama dilinde atama operatörler değişkenlere değer atanması sağlayan sembollerdir. Aşağıdaki tabloda atama operatörler görülmektedir.

Operatör İsmi Operatör Örnek Eşdeğer İfade

Atama = a = b

Topla ve kendisine ata += a += b a = a + b Çıkar ve kendisine ata -= a -= b a = a - b Çarp ve kendisine ata *= a *= b a = a * b Böl ve kendisine ata /= a /= b a = a / b Mod al ve kendisine ata %= a %= b a = a % b Taban böl ve kendisine ata //= a //= b a = a // b Üs al ve kendisine ata **= a **= b a = a ** b

2

7

7

Karşılaştırma Operatörler

Python programlama dilinde karşılaştırma operatörleri değişkenler arasında sınama yapılmasını sağlayan sembollerdir. Karşılaştırma operatörlerinin işletilmesi sonucunda python programlama dili True ya da False ifadesi döndürmektedir. True ifadesi karşılaştırmanın sonucunu doğru olarak, False ifadesi karşılaştırmanın sonucunun geçerli olmadığını belirtir. Aşağıdaki tabloda karşılaştırma operatörler görülmektedir.

Operatör İsmi Operatör Örnek

Eşittir == a == b

Eşit Değildir != a != b Büyüktür > a > b In [10]: print(int(5/2))

In [11]: # atama operatörü a = 2

print(a)

In [12]: # topla ve kendisine ata a = 3

a += 4 print(a)

In [13]: # topla ve kendisine ata operatörünün eşdeğer ifadesi a = 3

a = a + 4 print(a)

(14)

Operatör İsmi Operatör Örnek Küçüktür < a < b Büyük Eşittir >= a >= b Küçük Eşittir <= a <= b

False

True

Mantıksal Operatörler

Python programlama dilinde mantıksal operatörler ifadeler arasında sınama yapılmasını sağlayan sembollerdir. Mantıksal operatörlerinin işletilmesi sonucunda python programlama dili True ya da False ifadesi döndürmektedir. True ifadesi karşılaştırmanın sonucunu doğru olarak, False ifadesi karşılaştırmanın sonucunun geçerli olmadığını belirtir. Aşağıdaki tabloda karşılaştırma

operatörler görülmektedir.

Operatör Örnek and ve) a and b or (veya) a or b not (değil) not a

And

Koşullardan hepsinin doğru olduğu durumlarda gerçekleşir. Aşağıdaki tabloda doğruluk tablosu gözükmektedir.

Koşul1 Koşul2 Sonuç

0 0 0

0 1 0

1 0 0

1 1 1

False

In [14]: # eşittir a = 2 b = 3

print(a == b)

In [15]: # eşit değildir a = 2

b = 3

print(a != b)

In [18]: # koşul1'e uygun örnek a = 12

b = 15

print (a == 16 and b == 20)

In [19]: # koşul2'e uygun örnek a = 12

(15)

False

False

True

Or

Koşullardan herhangi birinin doğru olduğu durumlarda gerçekleşir. Aşağıdaki tabloda doğruluk tablosu gözükmektedir.

Koşul1 Koşul2 Sonuç

0 0 0

0 1 1

1 0 1

1 1 1

False

True

True

True

Not

b = 15

print (a == 16 and b == 15)

In [21]: # koşul3'e uygun örnek a = 12

b = 15

print (a == 12 and b == 16)

In [23]: # koşul4'e uygun örnek a = 12

b = 15

print (a == 12 and b == 15)

In [25]: # koşul1'e uygun örnek a = 12

b = 15

print (a == 16 or b == 20)

In [26]: # koşul2'e uygun örnek a = 12

b = 15

print (a == 13 or b == 15)

In [27]: # koşul3'e uygun örnek a = 12

b = 15

print (a == 12 or b == 20)

In [28]: # koşul4'e uygun örnek a = 12

b = 15

print (a == 12 or b == 16)

(16)

Not operatörü koşulun sonucunun tersini almaktadır.

Koşul Sonuç

0 1

1 0

True False

False

Kimlik Operatörler

Nesneleri karşılaştırmak için kullanılır. Nesneler aynı bellek konumuna sahipse aynı ifade edilmektedir. Bir nesnenin bellek konumu id() fonksiyonu ile görülebilmektedir. Python küçük boyutlu nesneleri aynı bellek konumunda tutmaktadır. is operatörü ise aynı bellek konumunda olup olmadığının sonucu boolean(True, False) bir değer olarak verir. is not operatörü is operatörünün tersi olarak çalışır. Aşağıdaki tabloda kimlik operatörleri görülmektedir.

Operatör Örnek

is a is b

is not a is not b

a değişkeninin bellek konumu = 4350870784 b değişkeninin bellek konumu = 4350870784 True

python büyük boyutlu nesneleri farklı bellek konumlarına yerleştirir.

a değişkeninin bellek konumu = 140187150522928 In [30]: a = 12

# aşağıdaki ifade true döner print(a == 12)

# eğer not kullanılırsa true değerini false değere döndürür print (not(a == 12))

In [35]: a = 3

print(not (a > 1 and a < 10))

In [38]: a = 5 b = 5

# bellek konumuna bakalım

print("a değişkeninin bellek konumu =", id(a)) print("b değişkeninin bellek konumu =", id(b)) print(a is b)

In [39]: a = 1500 b = 1500

# bellek konumuna bakalım

print("a değişkeninin bellek konumu =", id(a)) print("b değişkeninin bellek konumu =", id(b)) print(a is b)

(17)

b değişkeninin bellek konumu = 140187150521552 False

string ifadeler içinde büyük olduğunda farklı bellek konumlarına yerleştirilirken küçük olduğunda aynı bellek konumuna yerleştirilmektedir.

a değişkeninin bellek konumu = 140187141153712 b değişkeninin bellek konumu = 140187141153712 True

c değişkeninin bellek konumu = 140187157769072 d değişkeninin bellek konumu = 140187157769504 False

Üyelik Operatörler

Python programlama dilinde üyelik operatörleri veri tipi içinde o verinin bulunup bulunmadığını sorgular. Üeylik operatörleri ile sorgulama sonucunda boolean(True, False) değeri döner.

Aşağıdaki tabloda üyelik operatörleri görülmektedir.

Operatör Örnek

in a in b

not in a not in b

True

False

Örnekler 1

Örnekler için input() Fonksiyonu

input() fonksiyonu, programa veri girişi yapılabilmesi için kullanılan fonksiyondur. input()

fonksiyonundan gelen değer her zaman string bir ifadedir. Eğer sayısal işlem yapılacaksa string In [42]: a = 'ali'

b = 'ali'

c = 'ali erbey uşak üniversitesi' d = 'ali erbey uşak üniversitesi'

# bellek konumuna bakalım

print("a değişkeninin bellek konumu =", id(a)) print("b değişkeninin bellek konumu =", id(b)) print(a is b)

# bellek konumuna bakalım

print("c değişkeninin bellek konumu =", id(c)) print("d değişkeninin bellek konumu =", id(d)) print(c is d)

In [ ]:

In [43]: a = "ali erbey"

print("e" in a)

In [46]: a = "ali erbey"

print("c" in a)

(18)

ifadelerin dönüştürülmesi gerekmektedir. Dönüşüm konusu için Tür dönüşümleri konusuna bakabilirsiniz.

Doğum yılınızı giriniz 1984 1984

Doğum yılınızı giriniz 1984

--- TypeError Traceback (most recent call last)

<ipython-input-2-c2d25d0d9c1b> in <module>

1 dogumYili = input("Doğum yılınızı giriniz ") ----> 2 print(2020 - dogumYili)

TypeError: unsupported operand type(s) for -: 'int' and 'str'

Kullanıcının doğum yılını alarak yaş hesaplayan program

Doğum yılınızı giriniz 1984 36

İki sayının toplamını yazdıran program

12 + 13.3 = 25.3

Girilen iki sayının toplamını yazdıran program

Birinci sayı = 12 İkinci sayı = 13 12 + 13 = 25.0

İki sayının ortalamasını yazdıran program

In [1]: dogumYili = input("Doğum yılınızı giriniz ") print(dogumYili)

In [2]: # yaşınızı hesaplayan program :

dogumYili = input("Doğum yılınızı giriniz ") print(2020 - dogumYili)

In [1]: # yaşınızı hesaplayan program :

dogumYili = input("Doğum yılınızı giriniz ") print(2020 - int(dogumYili))

In [3]: sayi1 = 12 sayi2 = 13.3

toplam = float(sayi1) + float(sayi2)

print("{} + {} = {}".format(sayi1,sayi2,toplam))

In [4]: sayi1 = input("Birinci sayı = ") sayi2 = input("İkinci sayı = ") toplam = float(sayi1) + float(sayi2)

print("{} + {} = {}".format(sayi1,sayi2,toplam))

In [6]: sayi1 = 12 sayi2 = 17

ort = (sayi1 + sayi2) / 2

(19)

Ortalama = 14.5

Yarıçapı girilen dairenin alanını hesaplayan program

Yarıçapı giriniz = 4 Dairenin alanı = 50.24

Girilen sayının karekökünü bulan program

Bir sayı giriniz = 4

Girilen sayı = 4, Karekökü = 2.0

İki değişkenin değerini değiştiren program

a = 6, b = 3

a = 6, b = 3

a = 6, b = 3

print("Ortalama = ", ort)

In [23]: # Dairenin alanı = pr^2 pi = 3.14

r = float(input("Yarıçapı giriniz = ")) alan = pi * ( r * r )

print("Dairenin alanı = ", alan)

In [10]: sayi = int(input("Bir sayı giriniz = "))

karekok = sayi ** 0.5

print("Girilen sayı = {}, Karekökü = {} ".format(sayi, karekok))

In [11]: # 1. yol a = 3 b = 6

# geçici bir değişken oluşturulması gerekir tmp = a

a = b b = tmp

print("a = {}, b = {} ".format(a,b))

In [12]: # 2.yol a = 3 b = 6 a,b = b,a

print("a = {}, b = {} ".format(a,b))

In [13]: # 3.yol a = 3 b = 6

a = a + b # a = 3 + 6 sonucu a = 9 olur b = a - b # b = 9 - 6 sonucu b = 3 olur a = a - b # a = 9 - 3 sonucu a = 6 olur print("a = {}, b = {} ".format(a,b))

(20)

Kilometreyi mil'e çeviren program

Kilometre giriniz = 130 130.00 km 80.78 mile eşittir

Fanrenhayt dereceyi santigrad dereceye çeviren program

80.0 fahrenhayt 26.7 santigrada eşittir

Girilen boy ve kiloya göre beden kitle indeksini hesaplayan program

Kilo (kg) =78 Boy (m)=1.80 İndeks = 24.07

Vize notu ve final notuna göre ortalama hesaplayan program (Vize %40, Final

%60)

Vize Notunu Giriniz 34 Final Notunu Giriniz 56 47.2

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< İçerik >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Python Veri Tipleri

Karakter Dizileri Sayılar

List

List Elemanlarına Erişme List Metotları

Tuple

Tuple Elemanlarına Erişme Tuple Metotları

In [14]: km = float(input("Kilometre giriniz = "))

mil = km * 0.621371

print('%0.2f km %0.2f mile eşittir' %(km,mil))

In [21]: f = 80

s = (f-32)/1.8

print('%0.1f fahrenhayt %0.1f santigrada eşittir' %(f,s))

In [30]: # beden kitle indeksi kilo bölü boyun karesi kilo = int(input("Kilo (kg) ="))

boy = float(input("Boy (m)=")) indeks = kilo / (boy * boy)

print("İndeks = %0.2f " %(indeks))

In [22]: vizeNotu = input("Vize Notunu Giriniz ") finalNotu = input("Final Notunu Giriniz ")

ort = (float(vizeNotu) * 0.4) + (float(finalNotu) * 0.6) print(ort)

(21)

List

[]

[1, 2, 3, 4]

[1, 2, 3, 'elma', 'armut']

List Elemanlarına Erişme

List elemanlarının indeks numarası 0 dan başlar.

[[1, 2, 3], ['elma', 'armut'], 4]

['ali', 'ayşe', 'hakan', 'leyla']

ali

hakan

leyla

hakan

[38, 56]

[32, 45, 38, 56]

len() fonksiyonu dizinin eleman sayısını verir.

7

In [35]: dizi = []

print(dizi)

In [37]: dizi = [1,2,3,4]

print(dizi)

In [39]: dizi = [1,2,3,"elma", "armut"]

print(dizi)

In [41]: dizi = [[1,2,3],["elma", "armut"], 4]

print(dizi)

In [44]: dizi=["ali","ayşe","hakan","leyla"]

print(dizi) print(dizi[0])

In [45]: print(dizi[2])

In [46]: print(dizi[-1])

In [47]: print(dizi[-2])

In [48]: dizi = [32,45,38,56,78,34,90]

print(dizi[2:4])

In [50]: print(dizi[:-3])

In [51]: len(dizi) Out[51]:

In [52]: print(dizi[:3])

(22)

[32, 45, 38]

[32, 45, 38, 56, 78, 34, 90]

[1, 4, 6, 8]

[1, 3, 5, 7]

List Metotları

List veri tipi için hazır bulunan metotlar ve işlevleri tabloda verilmiştir.

Metot Açıklama append(

) Listenin sonuna eleman ekler extend( ) Listenin sonuna yeni bir liste ekler

insert( ) Listede belirli bir alana ekleme yapar. iki parametre alır birincisi poziyon, ikincisi eklenecek değer

remove( ) Listede belirli bir değeri çıkartır pop( ) belirli bir pozisyondaki değeri çıkartır clear( ) listenin bütün elemanlarını siliyor index( ) index numarasını döndürür copy( ) listenin kopyasını oluşturur

count( ) Elemanın listede kaç kez tekrarladığının sayısını verir.

reverse(

) Liste elemanlarını tersten sıralar sort( ) Liste elemanlarını sıralar

Metot Açıklama

append() Listenin sonuna eleman ekler

[5, 2, 6, 7]

Metot Açıklama

extend() Listenin sonuna yeni bir liste ekler In [53]: print(dizi[:])

In [54]: dizi = [2,4,6,8]

dizi[0] = 1 print(dizi)

In [55]: dizi[1:4] = [3,5,7]

print(dizi)

In [57]: dizi = [5,2,6]

dizi.append(7) print(dizi)

In [60]: dizi = [5 , 2 ,6]

dizi.extend([3,4,1]) print(dizi)

(23)

[5, 2, 6, 3, 4, 1]

[1, 2, 3, 4, 5, 6]

[34, 45, 34, 45, 34, 45]

Metot Açıklama

insert() Listede belirli bir alana ekleme yapar. iki parametre alır birincisi poziyon, ikincisi eklenecek değer

[2, 3, 3]

[12, 13, 3, 14]

[2, 3, 4, 5, 7]

[2, 5, 7, 8]

[2, 7, 8]

--- NameError Traceback (most recent call last)

<ipython-input-72-b09dc6769b18> in <module>

1 del dizi ----> 2 print(dizi)

NameError: name 'dizi' is not defined

Metot Açıklama

remove() Listede belirli bir değeri çıkartır In [61]: dizi = [1,2,3]

yeniDizi = [4,5,6]

print(dizi + yeniDizi)

In [63]: dizi = [34, 45]

print(dizi * 3)

In [64]: dizi = [2,3]

dizi.insert(1,3) print(dizi)

In [66]: dizi = [12,13,14]

dizi.insert(2,3) print(dizi)

In [68]: dizi = [2,3,7]

dizi[2:2] = [4,5]

print(dizi)

In [69]: dizi = [2,5,1,7,8]

del dizi[2]

print(dizi)

In [71]: dizi = [2,5,1,7,8]

del dizi[1:3]

print(dizi)

In [72]: del dizi print(dizi)

In [73]: dizi = [2,3,5,1,7]

dizi.remove(3)

(24)

[2, 5, 1, 7]

Metot Açıklama

pop() belirli bir pozisyondaki değeri çıkartır

[2, 5, 1, 7]

[2, 3, 5, 7]

[2, 3, 5, 1]

Metot Açıklama

clear() listenin bütün elemanlarını siliyor

[]

Metot Açıklama

index() index numarasını döndürür

f harfinin dizideki index numarası = 3

--- ValueError Traceback (most recent call last)

<ipython-input-82-39c944593843> in <module>

----> 1 index = harfler.index('k')

2 print("k harfinin dizideki index numarası = ", index)

ValueError: 'k' is not in list

Metot Açıklama

copy() listenin kopyasını oluşturur print(dizi)

In [74]: dizi = [2,3,5,1,7]

dizi.pop(1) print(dizi)

In [75]: dizi = [2,3,5,1,7]

dizi.pop(3) print(dizi)

In [76]: dizi = [2,3,5,1,7]

dizi.pop() print(dizi)

In [77]: dizi = [2,3,5,1,7]

dizi.clear() print(dizi)

In [81]: harfler = ["i","a","e","f"]

index = harfler.index('f')

print("f harfinin dizideki index numarası = ", index)

In [82]: index = harfler.index('k')

print("k harfinin dizideki index numarası = ", index)

In [14]: dizi = [2,3,4,5]

kopyaDizi = dizi.copy() print(kopyaDizi)

(25)

[2, 3, 4, 5]

Metot Açıklama

count() Elemanın listede kaç kez tekrarladığının sayısını verir.

3

2 sayısı dizide 3 kez bulunuyor

Metot Açıklama

reverse() Liste elemanlarını tersten sıralar

['c', 'b', 'a']

[3, 2, 1]

Bir diğer diziyi tersine çevirme yöntemi;

[3, 2, 1]

Metot Açıklama

sort() Liste elemanlarını sıralar

[1, 3, 4, 5, 6, 9]

['ahmet', 'ali', 'ayşe', 'fatma', 'hakan']

Tuple

Tuple list veri yapısına benzemekte olup farkı değiştilemez(immutable) oluşudur. Program içinde değiştirilmesini istemediğiniz dizileriniz olduğunda kullanışlı olabilir.

()

In [25]: dizi = [2,3,4,1,2,8,9,3,2,7,9]

print(dizi.count(2))

print("2 sayısı dizide {} kez bulunuyor".format(dizi.count(2)))

In [28]: dizi = ["a","b","c"]

dizi.reverse() print(dizi)

In [29]: dizi = [1,2,3]

dizi.reverse() print(dizi)

In [43]: dizi = [1,2,3]

print(dizi[::-1])

In [32]: dizi = [4,5,6,1,9,3]

dizi.sort() print(dizi)

In [33]: dizi = ["ali", "ahmet", "ayşe", "hakan", "fatma"]

dizi.sort() print(dizi)

In [36]: a = () print(a)

In [34]: a = (1,2,3,4)

(26)

(1, 2, 3, 4)

Tuple parantez kullanılmadan da oluşturulabilir.

<class 'tuple'>

<class 'tuple'>

(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

Tuple Elemanlarına Erişme

Tuple elemanlarına erişme liste elamanları ile aynıdır.

43

(43, 47)

--- TypeError Traceback (most recent call last)

<ipython-input-49-de7f22ffc754> in <module>

1 a = (12,34,45,67) ----> 2 a[1] = 99

3 print(a)

TypeError: 'tuple' object does not support item assignment Tuple da elemanı değiştirmek için diziye dönüştürerek ekleyebilirsiniz.

[1, 2, 4]

Tuple Metotları

Metot Açıklama

index( ) index numarasını döndürür

count( ) Elemanın listede kaç kez tekrarladığının sayısını verir.

print(a)

In [45]: programlama_dilleri = "Python", "Java", "C", "C++", "Go"

print(type(programlama_dilleri))

In [46]: rakamlar = 0,1,2,3,4,5,6,7,8,9 print(type(rakamlar))

In [47]: print(rakamlar)

In [57]: a = (12,43,47,67) print(a[1])

In [48]: a = (12,43,47,67) print(a[1:3])

In [49]: a = (12,34,45,67) a[1] = 99

print(a)

In [54]: a = (1,2,3) dizi = list(a) dizi[2] = 4 a = tuple(dizi) print(dizi)

(27)

2

3

Set

Set veri tipi matematikte bulunan kümeler konusunda yapılan işlemlere(birleşim, kesişim) benzer işlemler yapılaiblmesini sağlayan veri tipidir. Set veri tipi küme parantezi { } işareti ile tanımlanır.

{1, 2, 3, 4}

<class 'set'>

Tuple ve list veri tipinde boş bir şekilde o veri tipinden bir değişken yaratılmak istenildiğinde;

tuple için a = ( ) list için a = [ ]

şeklinde yapılabilirken. Set için benzer şekilde yapılmak istenildiğinde dictionary veri tipi oluşmaktadır.

<class 'dict'>

Boş bir şekilde set veri tipinden değişken yaratmak için;

<class 'set'>

Set veri tipi oluşturulurken tekrarlayan elemanlar matematikte kümeler mantığında olduğu gibi 1 defa işlenir.

{2, 3, 4, 5}

Tekrarlayan elemanlı set veri tipinde elaman sayısına bakıldığında 1 defa işlenildiği görülebilir.

{2, 3, 4, 5}

4

In [55]: a = (23,32,45,67) print(a.index(45))

In [56]: a = (2,3,1,4,5,6,1,2,3,2) print(a.count(2))

In [50]: a = {1,2,3,4}

print(a)

In [51]: a = {1,2,3,4}

print(type(a))

In [53]: a = {}

print(type(a))

In [49]: a = set() print(type(a))

In [54]: a = {2,3,4,5,4,2,3,4,5}

print(a)

In [55]: a = {2,3,4,5,4,2,3,4,5}

print(a) print(len(a))

(28)

Set veri tipinde öğelere erişilirken listelerdekine benzer şekilde veriye ulaşılamaz. Bunu nedeni set veri tipinin list ve tuple veri tipinde olduğu gibi sıralı olmamasıdır.

--- TypeError Traceback (most recent call last)

<ipython-input-59-55758871361a> in <module>

1 a = {2,3,4,5}

----> 2 print(a[3])

TypeError: 'set' object is not subscriptable

frozenset({'Ali', 2, 'Python', 5})

<class 'frozenset'>

Set Metotları

Metot Açıklama

add( ) Eleman ekler

clear( ) Elemanları siler

copy( ) Kopyalar

update( ) Yeniler

remove( ) Eleman Siler

discard( ) Eleman Siler(Hatasız)

pop( ) İlk elemanı Siler

union( ) İki kümenin birleşmesini sağlar intersection( ) İki kümenin kesişimini sağlar

intersection_update( ) İki kümenin kesişimini sağlar ve günceller isdisjoint( ) İki kümenin kesişiminin boş olup olmadığı difference( ) İki kümenin arasındaki fark

difference_update( ) İki kümenin arasındaki farkını bulur ve günceller issubset( ) Başka bir kümenin altkümesi olup olmadığı

{3, 4, 5, 6, 7}

In [59]: a = {2,3,4,5}

print(a[3])

In [83]: a = frozenset(["Python", 2, 5, 'Ali']) print(a)

print(type(a))

In [41]: # add metodu a = {3,4,5,6}

a.add(7) print(a)

In [42]: # clear metodu a = {3,4,5,6}

a.clear() print(a)

(29)

set()

{3, 4, 5, 6}

{1, 2, 3, 4, 5, 6, 7, 8}

{3, 4, 6}

--- KeyError Traceback (most recent call last)

<ipython-input-46-7d44b6a65d59> in <module>

2 # remove metodu elemanın olmadığı örnek 3 a = {3,4,5,6}

----> 4 a.remove(7) 5 print(a) KeyError: 7

{3, 4, 6}

{3, 4, 5, 6}

{4, 5, 6}

In [43]: # copy metodu a = {3,4,5,6}

b = a.copy() print(b)

In [44]: # update metodu a = {1,2,3,4,5,6}

b = {7,8}

a.update(b) print(a)

In [45]: # remove eleman siler, eleman yoksa hata verir

# remove metodu elemanın olduğu örnek a = {3,4,5,6}

a.remove(5) print(a)

In [46]: # remove eleman siler, eleman yoksa hata verir

# remove metodu elemanın olmadığı örnek a = {3,4,5,6}

a.remove(7) print(a)

In [47]: # discard metodu eleman siler eleman yoksa hata vermez

# discard metodu elemanın oldugu örnek a = {3,4,5,6}

a.discard(5) print(a)

In [48]: # discard metodu eleman siler eleman yoksa hata vermez

# discard metodu elemanın olmadığı örnek a = {3,4,5,6}

a.discard(7) print(a)

In [49]: # pop metodu a = {3,4,5,6}

a.pop() print(a)

(30)

A kümesi ile B kümesinin birleşimi = {1, 2, 3, 4, 5, 6, 9, 10}

A, B, C kümelerinin birleşimi = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

A kümesi ile B kümesinin kesişimi = {3, 4}

A, B, C kümelerinin kesişimi = {4}

A kümesi ile B kümesinin farkı = {1, 2, 9}

False

False

Dictionary

Anahtar-değer yapısında verileri tutmayı sağlayan veri tipidir. Sözlüklerdeki kelime ve anlamı mantığına benzemektedir. Oluşturmak için küme parantezi kullanılır.

<class 'dict'>

{1: 'Python', 2: 'Go', 3: 'Java', 4: 'C'}

In [78]: # yukarıdaki Venn şemasına göre kümeler A = {1,2,3,4,9}

B = {3,4,5,6,10}

C = {4,7,8,9,10}

# union metodu

# iki kümenin birleşimi

print("A kümesi ile B kümesinin birleşimi =", A.union(B))

# üç kümenin birleşimi

print("A, B, C kümelerinin birleşimi =", A.union(B.union(C)))

# iki kümenin kesişimi

print("A kümesi ile B kümesinin kesişimi =", A.intersection(B))

# üç kümenin kesişimi

print("A, B, C kümelerinin kesişimi =", A.intersection(B.intersection(C))

# iki küme arasındaki fark

print("A kümesi ile B kümesinin farkı =", A.difference(B))

In [63]: # isdisjoint metodu

# iki kümenin kesişimin boş olup olmadığını döner A = {3,4,5,6}

B = {5,6,7,8}

print(A.isdisjoint(B))

In [79]: # issubset metodu

# bir kümenin başka bir kümenin alt kümesi olup olmadığını döner A = {3,4,5,6}

B = {3,4}

print(A.issubset(B))

In [62]: # boş dictionary a = {}

print(type(a))

In [61]: # integer anahtarlı dictionary

a = {1: 'Python', 2: "Go", 3:"Java", 4:"C"}

print(a)

(31)

{'isim': 'Ali', 1: [2, 4, 6]}

{1: 'Python', 2: 'Go'}

Dictionary Elemanlarına Erişme

Dictionary elemanlarına anahtar değerler aracılığıyla ulaşılabilir.

Ali

36

Anahtar değerin olmaması durumunda hata döndürür.

--- KeyError Traceback (most recent call last)

<ipython-input-71-9772d978239f> in <module>

1 a = {"isim" : "Ali", "yaş" : 36}

----> 2 print(a["adres"])

KeyError: 'adres'

Hata vermemesi için ya da hatayı özelleştirmek için get metodu kullanılır. get metodu dictionary metodları konusunda işlenmektedir.

{'isim': 'Ali', 'yaş': 37}

Dictionary Metotları

Metot Açıklama

clear( ) Elemanları siler copy( ) Kopyalar fromkeys( ) Yeniler

get( ) İstenilen eleman olmadığında hata vermeden ekrana mesaj yazdırır items( ) Bütün elemanları verir

keys( ) Anahtarları verir In [64]: # karışık anahtarlı dictionary

a = { "isim" : 'Ali', 1 : [2,4,6]}

print(a)

In [65]: # dict() kullanrak dictionary oluşturmak a = dict({1: 'Python', 2: "Go"})

print(a)

In [68]: a = {"isim" : "Ali", "yaş" : 36}

print(a["isim"])

In [69]: a = {"isim" : "Ali", "yaş" : 36}

print(a["yaş"])

In [71]: a = {"isim" : "Ali", "yaş" : 36}

print(a["adres"])

In [75]: a = {"isim" : "Ali", "yaş" : 36}

a["yaş"] = 37 print(a)

(32)

Metot Açıklama

pop( ) İstenilen elemanı siler popitem( ) Rastgele bir elemanı siler

setdefault( ) Aranılan anahtar yoksa değer vererek yazdırma update( ) Güncellemeye yarar

values( ) Değerleri verir

{}

{1: 'Elma', 2: 'Portakal'}

{1: None, 2: None, 3: None, 4: None, 5: None}

{1: 'yeap', 2: 'yeap', 3: 'yeap', 4: 'yeap', 5: 'yeap'}

dict_keys([1, 2])

dict_values(['Elma', 'Portakal'])

dict_items([(1, 'Elma'), (2, 'Portakal')]) In [76]: # clear metodu

# elemanları siler

a = {1 : "Elma", 2 :"Portakal"}

a.clear() print(a)

In [77]: # copy metodu

# kopyasını oluşturur

a = {1 : "Elma", 2 :"Portakal"}

b = a.copy() print(b)

In [79]: a = {1,2,3,4,5}

b = dict.fromkeys(a) print(b)

In [80]: a = {1,2,3,4,5}

deger = "yeap"

b = dict.fromkeys(a, deger) print(b)

In [85]: # key metodu

# anahtarları gösterir

a = {1 : "Elma", 2 :"Portakal"}

print(a.keys())

In [86]: # values metodu

# değerleri gösterir

a = {1 : "Elma", 2 :"Portakal"}

print(a.values())

In [80]: # items metodu

# bütün elemanları gösterir a = {1 : "Elma", 2 :"Portakal"}

print(a.items())

In [81]: # get metodu

# aranan anahtarın değerini gösterir

(33)

36

None

İstenilen anahtar değer yok

{1: 'Python', 2: 'Java', 4: 'Go', 5: 'C++'}

{1: 'Python', 2: 'Java', 3: 'C', 4: 'Go'}

Java Rust

{'ali': 80, 'hakan': 65, 'ayşe': 40, 'merve': 55}

Öğrt. Gör. Ali ERBEY

ali.erbey@usak.edu.tr

# aranan anahtarın olduğu örnek a = {"isim" : "Ali", "yaş" : 36}

print(a.get("yaş"))

In [82]: # get metodu

# aranan anahtarın değerini gösterir

# aranan anahtarın olmadığı örnek a = {"isim" : "Ali", "yaş" : 36}

print(a.get("adres"))

In [85]: # get metodu

# aranan anahtarın değerini gösterir

# aranan anahtar olmadığında çıktının değiştirildiği örnek a = {"isim" : "Ali", "yaş" : 36}

print(a.get("adres", "İstenilen anahtar değer yok"))

In [93]: # pop metodu

# istenilen elemanı siler

a = {1 : "Python", 2 : "Java", 3 : "C", 4 :"Go", 5 : "C++"}

a.pop(3) print(a)

In [91]: # popitem metodu

# ratgele bir eleman siler

a = {1 : "Python", 2 : "Java", 3 : "C", 4 :"Go", 5 : "C++"}

a.popitem() print(a)

In [99]: # setdefault

# aranılan eleman varsa değerini getirir yoksa default bir değer döndürür a = {1 : "Python", 2 : "Java", 3 : "C", 4 :"Go", 5 : "C++"}

print(a.setdefault(2,"Rust")) print(a.setdefault(7,"Rust"))

In [103… # update metodu

# güncelleme yapar

vizeNotu = {"ali" : 80, "hakan" : 50, "ayşe": 70, "merve": 55}

yeniVizeNotu = {"ali" : 80, "hakan" : 65, "ayşe": 40}

vizeNotu.update(yeniVizeNotu) print(vizeNotu)

Referanslar

Benzer Belgeler

Programlarda bazen harici belleğin bir kısmının başka bir yere transferi gerekmektedir. Bunun için R0 ve R1 registerları kullanılarak MOVX komutuyla veri transferi alt programı

6.2. Giriş:    Göstericiler (pointers) bellekte bulunan bir yerin adresini saklayan bir değişkendir (adres türünde  bir  değişkendir).  Gösterici  de  int, 

Çöp olayını daha iyi anlayabilmek açısından aşağıdaki örnekte Heap bellek bölgesinde oluşturduğumuz Sayi nesnesini for döngüsünün sonunda geri

Appletviewer veya html programları kullanarak: Java applet program kodu hazırlanarak html olarak kaydedilir, komut satırından “appletviewer program adı.html” komutu ile

UYGULAMA 5.16: Python’un yerleşik list ve range komutlarını kullanarak 50’den geriye doğru 5’er 5’er azalan sayıları içeren bir liste

 Bu nedenle, hangi problemin DP’ye uygun olduğu ve DP’nin genel yapısını tespit etmek için özel yetenek gerekir,4.  Bu yetenek değişik DP problemleri üzerinde

(………) isim karakter veri olduğu için int kullanılmamalı (………) isim değişkeninden sonra eşittir = koyulmalı (………) input fonksiyonu tamamen kaldırılmalı

Gördüğünüz gibi ekrana yazı yazdırma işlemini gerçekleştiren print() fonksiyonu süslü parantezlerin içinde yazdık bunun sebebi print() fonksiyonun if koşul deyimine