Python Dersleri 5. Tür Dönüşümleri

Pythonda tür dönüşümü nesnenin bir verip tipinden başka bir veri türüne dönüştürülmesidir, 2 temel tür dönüşümü vardır. Bunlardan ilki Implicit yani örtülü tür dönüşümüdür. Kullanıcının bu gibi durumlarda herhangi bir şey yapmasına gerek kalmaz ve düşük seviyeli tür daha yüksek seviyeli bir türe otomatik olarak phyton tarafından dönüşütürülür. Diğer tür dönüşüm şekli ise Explicit yani açık tür dönüşümüdür. Python bazı durumlarda tür dönüşümlerini otomatik yapamaz ve işlem yapmanız gerektiğinde hata verir. Bu tip durumlarda python içinde yerleşik bazı dönüştürme fonksiyonlarını kullanmamız gerekir. Bunlar sırasıyla int() , float(), str() dir.

Ör :

sayı_int = 456

say_ondalık = 4.56

sayi_yeni = sayi_int + sayi_ondalık

print(sayi_yeni) # 460.56 (Implicit sayı dönüşümü)

Yukardaki örnekte görebileceğiniz gibi python 456 sayısını 4.56 ondalık sayısıyla toplarken 456 sayısını otomatik ondalık sayıya çevirerek (456.00 yaparak) bu işlemi gerçekleştirmiştir.

Ör:

sayi_int =456

sayi_yazi = “456”

print(sayi_int + sayi_yazi) #TypeError hatası alırız

Yukardaki örnekte python otomatik olarak 456 sayısı ile 4.56 karakter formatındaki sayıyı toplayamaz, bunun için Explicit yani açık tür dönüşümüne ihtiyaç duyar.

Ör:

sayi_int = 456

sayi_yazi = “456”

sayı_yazı = int(sayi_yazı)

sayi_toplam = sayi_int + sayi_yazı

print(sayi_toplam) # int() fonksiyonu ile int_yazi değişkenini int formatına çevirdiğimiz için iki sayı başarıyla toplanır ve 460,56 sonucunu verir.

FonksiyonTanımı
int(x [,base])x değerini bir tam sayıya dönüştürür. “base” kısmı isteğe bağlı olarak, taban
dönüşümü için kullanılan bir parametredir. base parametresi 2 olarak
kullanıldığında, sayının 2 tabanındaki karşılığı bulunur.
chr(x)Bir sayıyı karaktere dönüştürür.
str(x)x değerini string değere dönüştürür.
repr(x)x değerini bir ifade string’e dönüştürür.
eval(str)Bir string’i değerlendirir ve bir nesne döndürür.
complex(real [,imag])Kompleks bir sayı üretir.
float(x)x değerini float bir sayıya dönüştürür.
list(x)x değerini list’e dönüştürür.
dict(d)d (key, value) ilişkisi barındıran veriden bir sözlük oluşturur.
tuple(x)x değerini tuple’ye dönüştürür.
set(x)x değerini bir set’e dönüştürür.
frozenset(x)x değerini bir frozen set’e dönüştürür.
unichr(x)x sayısını unicode karakterine çevirir.
ord(x)Verilen bir karakterin unicode sayısal değerini döndürür.
hex(x)Bir sayının onaltılı düzendeki (hexadecimal) karşılığına (string) çevirir.
oct(x)Bir sayıyı sekizli düzendeki (oktal) karşılığına (string) çevirir.
Çeşitli Tür Dönüşüm Fonksiyonları




Programlama, Python kategorisine gönderildi | , , , ile etiketlendi | Yorum yapın

Python Dersleri 4. Veri Tipleri

Pythonda her değişken bir nesnedir ve bu nesnelerin sahip olduğu veriler farklı tiplerde olabilir.

Python’da 5 temel veri tipi vardır, bunlar sırasıyla;

  • Numbers (Sayılar)
  • String (Karakter Dizisi)
  • List (Liste)
  • Tuple (Demet)
  • Dictionary (Sözlük)

Python’da veri tipi type(değişkenismi) komutuyla öğrenebiliriz.

Ör :

metin = “Python dersleri”
sayi = 1234
noktali_sayi = 12.67
listem = [31, 28.1, ‘Python öğreniyorum’]
demet = ( 24.82, ‘İstanbul’, 25+4j )
sozluk = {1:’değer’,’anahtar’:2.6}


print(type(metin ))
print(type(sayi ))
print(type(noktali_sayi ))
print(type(listem ))
print(type(demet ))
print(type(sozluk ))


Kod Çıktısı:
<class ‘str’>
<class ‘int’>
<class ‘float’>
<class ‘list’>
<class ‘tuple’>
<class ‘dict’>

  • Numbers (Sayılar)

Python’da 4 farklı sayı tipi var, bunlar sırasıyla int (tam sayılar; 5, 23, -110, 0x68), long (uzun tam sayılar; 20530588L, 0142L, -0x571324, 0xDEFABCECCESAD), float (ondalık sayılar; 64.23, 22.17+e18, -54.3), complex (karmaşık sayılar; 3.14j, .451j, 42e+25j) sayılardır.

Not : Python, uzun tam sayıları büyük L harfiyle görüntüler. Küçük “l” harfi kullanılmasına izin verir, ancak
1 sayısıyla karıştırılmaması için yalnızca büyük “L” harfi kullanılması önerilir.

Not : Karmaşık bir sayı, x + yj ile gösterilen bir gerçel kayan noktalı sayı çiftinden oluşur; burada x ve y gerçel
sayılardır ve j sanal birimdir

  • String (Metin Dizisi)

Python string yani metin dizileri tek veya çift tırnakla belirtilen karakter kümeleridir.

  • Stringlerde karakter belirtirken 1. karakter “0” olarak alınır. Sondan başlanıyorsa “-1” olarak alınır
  • Stringler değiştirilemez (immutable yapılardır).
  • Stringlerin bir bölümünü seçmek için köşeli parantezler içinde “[,]” iki nokta “:” işareti kullanılır.

Ör :

str = ‘merhaba dünya’

print(str[2:5]) #Ekrana 3. karaktenden başlayarak 5. karaktere kadar yazdırır sonuç : rha

print(str[3:]) #Ekrana 4. karaktenden başlayarak tüm karakterleri yazdırır : haba dünya

print(str * 2) # Tüm metni 2 kere yazar.

print(str + “ekleme metin”) #iki metini + sembolü ile birleştirip yazdırabiliriz.

  • List (Liste)

Python’da listeler virgüller ayrılmış ve içinde farklı veri tipleri barındırabilen köşeli parantezle belirlenmiş sıralı öğelerdir. Stringlerden farklı olarak değiştirilebilirdirler (mutable), ekleme çıkarma yapılabilir.

Ör :

listem = [12, 23.5 , ‘listenin 3. öğesi’]

print(listem[0]) #12

print(listem[1]) #23.5

print(listem[2]) #listenin 3. öğesi

Not : listeden bir öğeyi degeri çıkarmak için listeadi.remove(ögeadi) komutu kullanılır.

Ör :

listem.remove(12)

print(listem) # [23.5, ‘listenin 3. öğesi’]

Not : remove komutuyla phyton listesinde ilk bulunan değer çıkarılır, eğer birden fazla değer aynı değer varsa diğerleri kalacaktır.

Not : Eğer remove komutu aradığınız değeri listenizde bulamazsa ValueError hatasını alırsınız.

Not: Eğer listeden bir değeri indeks numarasına göre çıkarmak isterseniz pop komutu kullanılır.

Ör :

listem.pop(2)

print(listem) # [12, 23.5]

Listeninin belirli bir kısmını aynı stringlerde olduğu gibi iki nokta üst üsteyle listeleyebilirsiniz.

Ör :

print(listem[0:1]) # [12, 23.5]

print(listem[1:]) # [23.5, ‘listenin 3. öğesi’]

  • Tuple (Demet)

Tuple’lar listeye çok benzerler, listeden farklı olarak köşeli parantez yerine normal parantezle sınırlandırılır ve öğeleri değiştirilemezler. Öğelerin değiştirilemez olması onları listelerden kullanım alanı olarak daha kısıtlı yapsa da aynı zamanda daha hızlı yapar.

Ör :

demetim = ( 12.36, ‘İstanbul’, 27+4j )

  • Dictionary (Sözlük)

Dictionary yani sözlükler süslü parantezler içinde tanımlanan, iki notayla ayrılan anahtar-değer çiftlerinden oluşan sıralı listelerdir. Her anahtar-değer çifti birbirinden virgülle ayrılır. Demetlerden farklı olarak sözlüklere ekleme çıkarma yapılabilir. Çok büyük miktarda veri üzerinde çalışmak için optimize edilmiştir fakat işlem yaparken anahtar değeri bilmek zorunludur.

Ör :

sozluk = {1:’ilkdeger’,’anahtar’: 3.5}

print(sozluk[1]) # ilkdeger

print(sozluk[anahtar]) # 3.5

print(sozluk[3.5]) #KeyError hatası verecektir, çünkü 3.5 değerinde bir anahtar yoktur.

Programlama, Python kategorisine gönderildi | , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 57. Ortam değişkenleri (Environmental Variables)

Linuxda ortam değiişkenleri kısaca çalıştığımız linux ortamının hangi kurallar ve değişkenlerle çalışacağını belirleyen bir kurallar dizisidir denilebilir. Örneğin bir linux kullanıcısı sisteme giriş yaptığında çeşitli değişkenler belirlenir bunlar; çalışma dizini (home directory), shell (scriptlerin çalışacağı dizin), e-posta klasörü vb kurallar ve özelleştirmelerdir.

  • printenv

veya

  • env

komutuyla tüm ortam değişkenlerimizi listeleyerek görebiliriz. Eğer sadece bir ortam değişkenini görmek istersek echo $ORTAMDEGİSKENİADI komutuyla aşağıdaki gibi görebiliriz.

  • echo $SHELL

Ortam değişkenleri değiştirmek için aşağıdaki gibi export komutunu kullanırız.

  • export TEST=1

Eğer ortam değişkenlerini kalıcı olarak değiştirmek istersek .bashrc dosyasını aşağıdaki şekilde editlememiz gerekir.

  • vi .bashrc
  • TEST =’1′
  • export TEST

NOT: .bashrc dosyası home klasörünüzün altındadır eğer dosyayı vi editörüyle başka bir klasörün altındayken açmaya çalışırsanız karşınıza boş bir dosya çıkacaktır

Eğer tüm sisteme etki eden global değişkenleri değiştirmek istersek şu şekilde değişiklik yapmamız gerekir.

  • vi /etc/profile veya /etc/bashrc
  • TEST=’1′
  • export TEST

NOT: bashrc dosyasında edit yaptıktan sonra değişikliklerin etkin olabilmesi için sisteme tekrardan giriş yapmanız gerekir.

İşletim sistemleri, Linux kategorisine gönderildi | , ile etiketlendi | Yorum yapın

Linux Dersleri 56. Sos raporu

Sos raporu sistem durumunu, logları ve yardımcı olabilecek bilgileri toplayıp rapor haline getiren Redhat ve Centosda varsayılan olarak gelen bir pakettir. (sos-version) Toplanan bilgi redhat/centos sysadminlerine gönderilerek yardım istenir.

genel kullanım şekli şu şekildedir.

  • sudo sosreport uygulama parametre

İşletim sistemleri, Linux kategorisine gönderildi | , , ile etiketlendi | Yorum yapın

Linux Dersleri 55. Root şifresini kurtarma

Linuxta root şifresini kurtarmak için grub menüsü editlememiz gerekiyor. Grub menüsü başlangıçta görünmezse Shift+Esc veya F8 tuşuna basın.

Grub menüsü yani sistem seçme ekranı göründüğünde “e” harfine basıp editleyeceğiz. Çıkan ekranda linux ile başlayan satırı bulup sonuna rd.break yazıp sistemi ctrl+x ‘e basıp başlatıyoruz.

sistem bize prompt’u verdiğinde aşağıdaki komutları sırasıyla yazıyoruz

mount -o remount,rw /sysroot/

chroot /sysroot/

passwd

Not: Bu Method rhel 9 ‘un ilk versiyonlarında çalışmayabiliyor.

DİĞER LİNUX DAĞITIMLARINDA

linuxla başlayan satırın başına gelip Ctrl+E ile satır sonuna gidiyoruz,

rw init=/bin/bash (shell sessionına girmesini sağlıyor)

yazıp

Ctrl+X basıp editlenen dosya ile boot’a devam ediyoruz, birkaç saniye sonra promt’a düşünce root partion’ını read-write olarak mount etmemiz gerekiyor.

Önce root partionımızı grep komutuyla aşağıdaki şekilde görelim;

grep ” / ” /proc/mounts

mount -o remount,rw /

passwd root (veya başka bir kullanıcı adı yazarak)

touch /.autorelabel (selinux’un update etmesini sağlıyoruz, bu işlem biraz zaman alacağı için aşağıdaki yöntemle de yapabiliriz.)

/sbin/getenforce

yukardaki komutla Selinux aktif mi değil onu görüyoruz eğer disabled ise şifremizi değiştirdiğimiz zaman ilgili shadow dosyası bozulacaktır.

ls -lZ /etc/shadow

Yukardaki komutla shadow dosyamızı listeliyoruz.

passswd

passwd komutuyla root şifremizi değiştirip tekrardan ls -lZ /etc/shadow komutuyla shadow dosyasına bakıyoruz

eğer root root ikilisinden sonra ? işareti görürsek shadow dosyasını düzeltmemiz gerekiyor.

chcon system_u:object_r:shadow_t:s0

komutuyla bozulan shadow dosyamızı hallediyoruz.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 54. Bazı önemli terminal kısa yolları ve komutları

  • Ctrl+u

Yazdığınız satırı komple siler.

  • Ctrl+c

Çalışan işlemi durdurur ya da sonlandırır.

  • Ctrl+z

Çalışan işlemi dondurur. Eğer bir programdan çıkamayıp terminale dönemiyorsanız bu komutla linux çalışan programı arka plana alıp sizi komut satırına döndürür.

  • Ctrl+d

İnteraktif bir programdan çıkmaya yarar.

  • clear

Ekranı temizlemeye yarar

  • exit

Bir session, shell veya terminalden çıkmaya yarar.

  • script logdosyasiadi.log

Terminaldeki aktiviteleri loglamamıza yarar. Hangi adla loglanacağı sorulur, boş bırakılırsa varsayılan olarak typescript adında bir log dosyası oluşturulur. exit komutuyla log kaydını durdururuz.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 53. Sistem bilgilerini görme (uname, dmidecode, arch)

Aşağıdaki komutlar linux sistemlerde sistem hakkında bilgi almak için kullanılırlar;

  • uname -a

Kernel versiyonu ile birlikte kurulu linux dağıtımı adını, sistemin oluşturulma zamanını ve mimarisi gibi bilgileri verir.

  • dmidecode

sistemdeki anakarta takılı ram,cpu ve port bilgilerini detaylı olarak verir.

  • cat /etc/os-release

Sistemde kurulu linux dağıtımı hakkında bilgi verir, örneğin sitesi, hata şikayet sayfası, indirme sayfası, versiyon vb.

  • arch

Sistem mimarisini verir, 64 bit sistemlerde x86_64 yanıtını verir.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 52. Sistem hostname’ini değiştirme

Linux sistemimizde terminale girdiğimiz zaman genelde faruk@pop-os gibi @ işaretinden sonra hostnamemiz yazar fakat bu her zaman olmayabilir, Böyle durumlarda terminalde hostname yazarak hostnamemimizi görebiliriz. Eğer detaylı bir şekilde bilgi almak istersek

  • hostname status

yazarız. Bu komut bize hostname haricinde sistem kernel bilgisi, mimarisi ve anakart donanım bilgilerimizi verir.

Linux sisteminde hostname’i değiştirmek için aşağıdaki komutu kullanırız;

  • hostnamectl set-hostname yenihostname opsiyon

veya

  • /etc/hostname (eskiden bu dosya /etc/sysconfig/network ‘tü) dosyasını editleyerek de aynı işlemi yapabiliriz.

Hostname’i değiştirdikten sonra değişikliklerin aktif hale gelebilmesi için sistemin reboot ettirilmesi gerekir.

Eğer uzaktan bağlantı (remote) kurduğumuz bir sistemin hostname ‘ini değiştirmek istersek aşağıdaki komutu kullanabiliriz

  • ssh kullaniciadi@remotehost ‘sudo hostnamectl set-hostname yenihostadi’

Ayrıca hostname’imimizin bize görünen adını değiştirmek istersek;

  • hostnamectl set-hostname “yeni-hostname” –pretty

komutunu kullanabiliriz. Böylece statik olan ve diğer bilgisayarlarda görünen ada kıyasla ad kısıtlamalarına maruz kalmaz. Pretty denilen bu parametre ile oluşturulan hostname’i editlemek istersek

  • /etc/machine-info

dosyasını editleyerek de yapabiliriz.

İşletim sistemleri, Linux kategorisine gönderildi | , , ile etiketlendi | Yorum yapın

Linux Dersleri 51. Sistem logları /var/log

Linux sistemlerinde çalışan programların logları programın kendisi tarafından özel olarak belirtilmediği sürece /var/log klasörünün altında tutulur. /var/log klasörünün altında tutulan önemli loglardan bazıları şunlardır;

  • boot (boot.log)

Bilgisayarın başlarken oluşturduğu loglardır, hafızanın nasıl temizlendiği, hangi işlemlerin başladığı, oluşan sorunlar vb. Herhangi bir sorun yoksa işlemin yanında [ OK ] yazarken sorun olması durumunda [ FALSE ], [ ERROR ] veya [ ALERT ] gibi mesajlar görebilirsiniz. Her sistem yeniden başlatılmasında dosya yeniden yazılır.

  • chrony (NTP’nin yeni versiyonu)
  • cron

Adından da anlaşılacağı üzere cron loglarını tutan dosyamızdır.

  • maillog

Mail deamonla ilgili logları tutar. Her mail giriş çıkışında burda bir log oluşur.

  • secure

Sisteme giriş çıkış (login/logout) aktivetelerini kaydeden loglardır.

  • messages

Sistemin herhangi bir yerinde sorun oluşunca bu dosyada log tutulur. Sorun oluştuğunda ilk bakmamız gereken dosyalardandır. Bütün donanımz,yazılım ve işlem loglarını tutar.

  • httpd

Weble ilgili apache loglarını tutan dosyadır.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 50. Sistem izleme komutları

  • top

top komutu linux sistem adminlerinin sıklıkla kullandığı bir komuttur. Linux uç birimininde top yazarak çalışan sistem processlerini veya threadlerini gerçek zamanlı olarak görmeye yarar. top komutunu kullandığınız zaman interaktif bir pencere açılır ve çeşitli komutlarla bu interaktif pencerede process ve threadlerle ilgili işlemler yapabilirsiniz. İnteraktif moddan çıkmak için “q” tuşuna basmanız yeterli olur. Komutu kullanmak için root yetkisi gerekmese de interaktif modda kill vb işlem yapmak için root yetkisi gerekir.

  • df

Sistemdeki bölümleri (partionları gösterir) ve bunların mount klasörlerini gösterir ve klasörlerin kullanım detayları hakkında bilgi verir (kullanım miktarı, boş alan ve yüzdesi). En çok kullanılan opsiyonu df -h versiyonudur, bu kullanım şeklinde daha okunur halde disk büyüklüğünü verir.

  • du

Bu komut komutu çalıştırdığınız klasördeki dosyaların ne kadar yer kapladığına dair bilgi verir, kullanım şekli şu şekildedir;

Ör : du

Sadece disk kullanım oranını ve bu kullanımı yapan klasörleri listeler (soldan sağa)

Ör : du -h

Öncekine ek olarak listelenen bilgiyi daha okunur hale getirir. Örneğin soldaki sayıların basında K,M veya G harfleri olur bunlar sırasıyla kilobyte, megabyte ve gigabyte’ı ifade eder.

Ör : du -s

s parametresi ingilizce summarize yani özetle kelimesinin baş harfini oluşturur, klasör içindeki tüm klasör ve dosyaların kapladığı yeri verir.

Ör : du -a

a parametresi klasördeki bütün dosyaları listeler

Ör : du -ah –time

–time parametresi ile listelenen dosyaların ve klasörlerin boyutlarıyla birlikte en son ne zaman değiştirildiğini görevbiliriz.

Ör : du -ah –exclude=”*.dll”

–exclude parametresi listelemeye dahil etmeyeceğimiz dosyaları belirtmeye yarar.

  • dmesg

dmesg sistemle alakalı hataları, uyarıları, başarız işlemleri vb. görmemizi sağlar. Sistem hardwarelerindeki hataları burda bulabilirsiniz.

  • iostat

Sistemimizdeki cihazlarların yaptığı giriş çıkış ilemlerini gösteren bir komuttur, örneğin bir harddiskin anlık ne kadar veri okuyup yazdığı gibi. iostat 1 yazarak devamlı güncellenmesini sağlayabilirsiniz. (ctrl+c ile çıkılır)

  • netstat

Netstart komutu network istatistiklerini görmemizi yarayan bir komuttur, Farklı interfacelerin açık socketlerini, kullanımlarını, route tablalolarını vb bilgileri görmemizi sağlar.

  • free

Sisteminizin hafıza(memory) miktarınızı swap hafızasını ve bunların kullanım mikatlarını gösterir.

  • cat /proc/cpuinfo

Bilgisayarınızın işlemci bilgilerini görmenizi sağlar.

  • cat /proc/meminfo

Bilgisayarınızın hafıza(memory) bilgilerini görmenizi sağlar.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , , , ile etiketlendi | Yorum yapın
Page 2 of 10
1 2 3 4 … 10