💫 Değişkenler

Python değişkenleri

🧱 Temel Değişkenler

Tip

Açıklama

Örnek

bool

2'li değer, bit

True

int

Sayı

1

float

Virgüllü sayı

1.2, round(3.12312, 2) # 3.12

complex

Karmaşık sayılar

2+3j, x = complex(5, 3), x.real, x.imag

str

String, metin

"Hello" / 'Hello'

Değişkenin daha önceden tanımlandığını kontrol etme için buraya bakabilirsin.

💽 Veri Yapıları

🎈 Değişkenlerin Özellikleri

  • Bellekte ayrıldıkları alanda, üzerine atanan değerleri tutan objelerdir

  • Temel değişkenlerde atama = işlemlerinde değer ("value") aktarımı yapılır

  • Diğer değişkenlerde adres ("reference") aktarımı yapılır

    • list için b = list(a) ya da b = a[:] yapısı ile değer kopyalanır

    • b = a yapısı adresi kopyalar, a.append(1) yapıldığında b'ye de eklenir

✨ Değişken İşlemleri

Değersiz Değişken Tanımlama
Sabit Değer Tanımlama
Tanımlı Değişken Kontrolü
degersiz = None
  • Python'da constant yoktur.

  • Sabit değerler büyük harfler ile belirtilir.

Aynı dosya içerisinde büyük harflerle yazılsa bile değiştirilebilir.

sabitler.py dosyası

PI = 3.14
YER_CEKIMI = 9.8

main.py dosyası

import sabitler
print(sabitler.PI) # 3.14
print(sabitler.GRAVITY) # 9.8
if 'myVar' in locals():
# myVar exists.
if 'myVar' in globals():
# myVar exists.
if hasattr(obj, 'attr_name'):
# obj.attr_name exists.

🔂 Değişken Dönüşümleri

Değişkenler Arası Dönüşüm
Taban ve Tavan İşlemleri
Eval Fonksiyonu ile Dönüştürme
Diğer Dönüşümler
ondalikli = 5.8
type(ondalikli) # <class 'float'>
tam = int(5.8) # 5 atanır
type(tam) # <class 'int'>
sonuc = int(7/3.5) # 2 atanır
sonuc = int(7/3) # 2 atanır
sonuc = float(7 / 3.5) # 2.0 atanır
sonuc = 7 / 3 # 2.33 atanır
value = "False"
print(bool(value)) # True verir, bool'a takılama string içeriğine bakmaz.
print(bool("")) # False
import math
tam = math.ceil(5.8) # 6 atanır
tam = math.floor(5.8) # 5 atanır
value = "5"
print(type(value)) # <class 'str'>
print(type(eval(value))) # <class 'int'>
print(type(value)) # <class 'str'>
value1 = "5"
value2 = 3
print(type(value1)) # <class 'str'>
print(type(value2)) # <class 'int'>
value3 = type(value2)(value1) # Value1'i value2'nin tipine dönüştürme
print(value3) # 5
print(type(value3)) # <class 'int'>

🧮 Sayılar, Sayılar Arası Dönüşüm ve Matematik

Tabanlı Sayılar
Ondalıklı Sayılar
Kesirli Sayılar (Fractions)
Matematik İşlemleri
Rastgelelik

Taban

Ön ek

Örnek

Çıktı

2'lik

0b ya da 0B

print(0b1101011)

107

8'lik

0o ya da 0O

print(0xFB + 0b10)

253 (251 + 2)

16'lık

0x ya da 0X

print(0o15)

13

>>> (1.1 + 2.2) == 3.3
False
>>> 1.1 + 2.2
3.3000000000000003
import decimal
print(0.1) # 0.1
print(decimal.Decimal(0.1)) # Decimal('0.1000000000000000055511151231257827021181583404541015625')
from decimal import Decimal as D
print(D('1.1') + D('2.2')) # Decimal('3.3')
print(D('1.2') * D('2.50')) # Decimal('3.000')
import fractions
print(fractions.Fraction(1.5)) # 3/2
print(fractions.Fraction(5)) # 5
print(fractions.Fraction(1,3)) # 1/3
import fractions
# Floatlar virgülden sonra da sayı barındırdığından dolayı farklı sonuç verir
print(fractions.Fraction(1.1)) # 2476979795053773/2251799813685248
print(fractions.Fraction('1.1')) # 11/10
from fractions import Fraction as F
print(F(1,3) + F(1,3)) # 2/3
print(1 / F(5,6)) # 6/5
print(F(-3,10) > 0) # False
print(F(-3,10) < 0) # True
import math
print(math.pi) # 3.141592653589793
print(math.cos(math.pi)) # -1.0
print(math.exp(10)) # 22026.465794806718
print(math.log10(1000)) # .0
print(math.sinh(1)) # 1.1752011936438014
print(math.factorial(6)) # 720
import random
x = ['a', 'b', 'c', 'd', 'e']
print(random.randrange(10,20)) # Rastgele 10, 20 arasında sayı yazdırma
print(random.choice(x)) # Rastgele seçim yapma
random.shuffle(x) # Karıştrma
print(x) # Karışım sonucunu yazma
print(random.random()) # Rastgele eleman yazma