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.