Python - Değişken Türler
Değişkenler, değerleri saklamak için ayrılmış bellek konumlarından başka bir şey değildir. Bu, bir değişken oluşturduğunuzda bellekte biraz yer ayırdığınız anlamına gelir.
Bir değişkenin veri türüne bağlı olarak, yorumlayıcı belleği ayırır ve ayrılmış bellekte nelerin saklanabileceğine karar verir. Bu nedenle, değişkenlere farklı veri türleri atayarak, bu değişkenlerde tamsayı, ondalık sayı veya karakter saklayabilirsiniz.
Değişkenlere Değer Atama
Python değişkenlerinin bellek alanı ayırmak için açık bildirime ihtiyacı yoktur. Bir değişkene bir değer atadığınızda bildirim otomatik olarak gerçekleşir. Eşittir işareti (=) değişkenlere değer atamak için kullanılır.
= Operatörünün solundaki işlenen, değişkenin adıdır ve = operatörünün sağındaki işlenen, değişkende depolanan değerdir. Örneğin -
#!/usr/bin/python
counter = 100 # An integer assignment
miles = 1000.0 # A floating point
name = "John" # A string
print counter
print miles
print name
Burada 100, 1000.0 ve "John" sırasıyla counter , miles ve name değişkenlerine atanan değerlerdir . Bu, aşağıdaki sonucu verir -
100
1000.0
John
Çoklu Atama
Python, aynı anda birkaç değişkene tek bir değer atamanıza izin verir. Örneğin -
a = b = c = 1
Burada, 1 değeriyle bir tamsayı nesnesi oluşturulur ve üç değişkenin tümü aynı bellek konumuna atanır. Ayrıca birden çok değişkene birden çok nesne atayabilirsiniz. Örneğin -
a,b,c = 1,2,"john"
Burada, 1 ve 2 değerlerine sahip iki tamsayı nesnesi sırasıyla a ve b değişkenlerine atanır ve "john" değerine sahip bir dizi nesnesi c değişkenine atanır.
Standart Veri Türleri
Hafızada saklanan veriler birçok türde olabilir. Örneğin, bir kişinin yaşı sayısal bir değer olarak ve adresi alfanümerik karakterler olarak saklanır. Python, üzerlerinde olası işlemleri ve her biri için depolama yöntemini tanımlamak için kullanılan çeşitli standart veri türlerine sahiptir.
Python'da beş standart veri türü vardır -
- Numbers
- String
- List
- Tuple
- Dictionary
Python Numaraları
Sayı veri türleri sayısal değerleri depolar. Sayı nesneleri, onlara bir değer atadığınızda oluşturulur. Örneğin -
var1 = 1
var2 = 10
Del deyimini kullanarak bir sayı nesnesine başvuruyu da silebilirsiniz. Del ifadesinin sözdizimi -
del var1[,var2[,var3[....,varN]]]]
Del ifadesini kullanarak tek bir nesneyi veya birden çok nesneyi silebilirsiniz. Örneğin -
del var
del var_a, var_b
Python dört farklı sayısal türü destekler -
- int (işaretli tamsayılar)
- long (uzun tamsayılar, sekizlik ve onaltılık olarak da gösterilebilirler)
- float (kayan nokta gerçek değerleri)
- karmaşık (karmaşık sayılar)
Örnekler
İşte bazı sayı örnekleri -
int | uzun | yüzer | karmaşık |
---|---|---|---|
10 | 51924361L | 0.0 | 3.14j |
100 | -0x19323L | 15.20 | 45.j |
-786 | 0122L | -21.9 | 9.322e-36j |
080 | 0xDEFABCECBDAECBFBAEl | 32.3 + e18 | .876j |
-0490 | 535633629843L | -90. | -.6545 + 0J |
-0x260 | -052318172735L | -32.54e100 | 3e + 26J |
0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
Python, long ile küçük l harfini kullanmanıza izin verir, ancak 1 rakamıyla karışıklığı önlemek için yalnızca büyük L harfini kullanmanız önerilir. Python, uzun tamsayıları büyük L harfiyle görüntüler.
Karmaşık bir sayı, x + yj ile gösterilen sıralı bir gerçek kayan noktalı sayı çiftinden oluşur; burada x ve y gerçek sayılardır ve j sanal birimdir.
Python Dizeleri
Python'daki dizeler, tırnak işaretleri içinde gösterilen bitişik bir karakter kümesi olarak tanımlanır. Python, tek veya çift tırnak çiftlerine izin verir. Dizgelerin alt kümeleri, dizgenin başında 0'dan başlayan ve sonunda -1'den başlayan dizinler ile dilim operatörü ([] ve [:]) kullanılarak alınabilir.
Artı (+) işareti dize birleştirme operatörü ve yıldız işareti (*) tekrar operatörüdür. Örneğin -
#!/usr/bin/python
str = 'Hello World!'
print str # Prints complete string
print str[0] # Prints first character of the string
print str[2:5] # Prints characters starting from 3rd to 5th
print str[2:] # Prints string starting from 3rd character
print str * 2 # Prints string two times
print str + "TEST" # Prints concatenated string
Bu, aşağıdaki sonucu verecektir -
Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST
Python Listeleri
Listeler, Python'un bileşik veri türlerinin en çok yönlü olanıdır. Bir liste, virgülle ayrılmış ve köşeli parantez ([]) içine alınmış öğeler içerir. Listeler bir dereceye kadar C'deki dizilere benzer. Aralarındaki bir fark, bir listeye ait tüm öğelerin farklı veri türünde olabilmesidir.
Bir listede saklanan değerlere, listenin başında 0'dan başlayan dizinler ile dilim operatörü ([] ve [:]) kullanılarak erişilebilir ve -1'in sonuna kadar çalışır. Artı (+) işareti liste birleştirme operatörüdür ve yıldız işareti (*) tekrar operatörüdür. Örneğin -
#!/usr/bin/python
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
print list # Prints complete list
print list[0] # Prints first element of the list
print list[1:3] # Prints elements starting from 2nd till 3rd
print list[2:] # Prints elements starting from 3rd element
print tinylist * 2 # Prints list two times
print list + tinylist # Prints concatenated lists
Bu, aşağıdaki sonucu verir -
['abcd', 786, 2.23, 'john', 70.2]
abcd
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.2, 123, 'john']
Python Tuples
Tuple, listeye benzer başka bir dizi veri türüdür. Bir demet, virgülle ayrılmış birkaç değerden oluşur. Listelerden farklı olarak, kayıtlar parantez içine alınır.
Listeler ve demetler arasındaki temel farklar şunlardır: Listeler köşeli parantezler ([]) içine alınır ve öğeleri ve boyutları değiştirilebilirken, başlıklar parantez (()) içine alınır ve güncellenemez. Tuples şu şekilde düşünülebilir:read-onlylisteler. Örneğin -
#!/usr/bin/python
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
tinytuple = (123, 'john')
print tuple # Prints the complete tuple
print tuple[0] # Prints first element of the tuple
print tuple[1:3] # Prints elements of the tuple starting from 2nd till 3rd
print tuple[2:] # Prints elements of the tuple starting from 3rd element
print tinytuple * 2 # Prints the contents of the tuple twice
print tuple + tinytuple # Prints concatenated tuples
Bu, aşağıdaki sonucu verir -
('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')
Aşağıdaki kod tuple ile geçersiz, çünkü izin verilmeyen bir demeti güncellemeye çalıştık. Listelerde de benzer durum mümkündür -
#!/usr/bin/python
tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )
list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # Invalid syntax with tuple
list[2] = 1000 # Valid syntax with list
Python Sözlüğü
Python'un sözlükleri bir çeşit karma tablo türüdür. Perl'de bulunan ilişkilendirilebilir diziler veya karmalar gibi çalışırlar ve anahtar-değer çiftlerinden oluşurlar. Sözlük anahtarı hemen hemen her Python türü olabilir, ancak genellikle sayılar veya dizelerdir. Öte yandan değerler, herhangi bir rastgele Python nesnesi olabilir.
Sözlükler küme ayraçları ({}) içine alınır ve değerler, köşeli ayraçlar ([]) kullanılarak atanabilir ve bunlara erişilebilir. Örneğin -
#!/usr/bin/python
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
print dict['one'] # Prints value for 'one' key
print dict[2] # Prints value for 2 key
print tinydict # Prints complete dictionary
print tinydict.keys() # Prints all the keys
print tinydict.values() # Prints all the values
Bu, aşağıdaki sonucu verir -
This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']
Sözlüklerin öğeler arasında düzen kavramı yoktur. Elemanların "sıra dışı" olduğunu söylemek yanlıştır; onlar sırasızdır.
Veri Türü Dönüşümü
Bazen yerleşik türler arasında dönüştürme yapmanız gerekebilir. Türler arasında dönüştürme yapmak için, tür adını işlev olarak kullanmanız yeterlidir.
Bir veri türünden diğerine dönüştürme gerçekleştirmek için birçok yerleşik işlev vardır. Bu işlevler, dönüştürülen değeri temsil eden yeni bir nesne döndürür.
Sr.No. | İşlev ve Açıklama |
---|---|
1 | int(x [,base]) X'i bir tam sayıya dönüştürür. base, x bir dizge ise tabanı belirtir. |
2 |
long(x [,base] ) X'i uzun bir tam sayıya dönüştürür. base, x bir dizge ise tabanı belirtir. |
3 |
float(x) X'i kayan noktalı sayıya çevirir. |
4 |
complex(real [,imag]) Karmaşık bir sayı oluşturur. |
5 |
str(x) X nesnesini bir dizgi gösterimine dönüştürür. |
6 |
repr(x) X nesnesini bir ifade dizesine dönüştürür. |
7 |
eval(str) Bir dizeyi değerlendirir ve bir nesne döndürür. |
8 |
tuple(s) S'yi bir demete dönüştürür. |
9 |
list(s) S'yi bir listeye dönüştürür. |
10 |
set(s) S'yi bir kümeye dönüştürür. |
11 |
dict(d) Bir sözlük oluşturur. d bir (anahtar, değer) tuple dizisi olmalıdır. |
12 |
frozenset(s) S'yi donmuş bir kümeye dönüştürür. |
13 |
chr(x) Bir tamsayıyı bir karaktere dönüştürür. |
14 |
unichr(x) Bir tamsayıyı Unicode karakterine dönüştürür. |
15 |
ord(x) Tek bir karakteri tam sayı değerine çevirir. |
16 |
hex(x) Bir tamsayıyı onaltılık bir dizeye dönüştürür. |
17 |
oct(x) Bir tamsayıyı sekizlik bir dizeye dönüştürür. |