Python

Senior gibi Python Yazın: Kodlama Becerilerinizi Geliştirmenin Yolları

Senior gibi Python Yazın: Kodlama Becerilerinizi Geliştirmenin Yolları

Python programlama diliyle yazdığınız kodu daha etkili, daha okunabilir hale getirmenin pek çok yolu var. Bu blog yazımızda, Python junior seviyesinden senior seviyesine geçiş yaparken kullanabileceğiniz bazı pratik teknikleri ele alıyoruz. Kod yazmayla ilgilenenlerin kesinlikle faydalanacağı bu teknikler sayesinde Python becerilerinizi artırabilirsiniz.

PDB (Python Debugger) Kullanımı

junior:

import pdb
pdb.set_trace()

Senior:

import pdb; pdb.set_trace()

python junior geliştiriciler, kodlarının hatalarını tespit etmek için PDB’yi kullanır. Ancak PDB yoluyla import ifadesinin tek bir satırda daha etkili bir şekilde ifade edilebileceğini bilmek, kodlama becerilerinizi hızla geliştirmenize yardımcı olabilir.

Liste Oluşturma

Junior:

even_num= []
for i in range(2, 10):
    if i % 2 == 0:
        ciftSayilar.append(i)

Senior:

even_num = list(range(2,10,2))

Python genç geliştiriciler çift sayıları bir listeye eklemek için bir döngü yazarken, senior geliştiriciler tek bir satırda liste oluşturup filtreleyebilir. Tek satırlık kod, kodun daha kısa ve okunabilir olmasını sağlar.

Metin Biçimlendirme

Junior:

string = "Genc Yazilimci"
print("**********" + string)
print(string + "**********")
print("**********" + string + "**********")

Senior:

string = "Genc Yazilimci"
print(f"{string:*>10}")
print(f"{string:*<10}")
print(f"{string:*^10}")

Metin biçimlendirme, geliştiricinin yazılım kodunu daha okunaklı hale getirmesine yardımcı olur. Senior geliştiriciler daha yetenekli bir biçimlendirme seçeneği olan f-strings kullanarak metin biçimlendirmesi yapabilir.

Koşullu Durum İfadeleri

Junior:

name = "Abduley"
is_active = False

if name is not None:
    is_active = True
else:
    is_active = False

Senior:

name = "Abduley"
is_active = True if name else False

Tek bir satırlık koşullu ifadeler kullanarak, senior geliştiriciler kodlarını daha kısa ve okunabilir hale getirebilir. Bu nedenle, koşullu ifadelerin nasıl kullanılabileceğine dair iyi bir fikir sahibi olmak, geliştiricilerin daha modern bir Python kodu yazmalarına yardımcı olabilir.

Sayı Biçimlendirme

Junior:

hundred_million = 100000000

Senior:

hundred_million = 100_000_000

Alt çizgiler kullanarak sayıları daha okunaklı hale getirmek, geliştiricinin kodunu daha iyi organize etmesine yardımcı olabilir. Senior geliştiriciler, sayıları daha okunaklı olacak şekilde biçimlendirebilir ve potansiyel hataların önlenmesine yardımcı olabilir.

Tür Kontrolü

Junior:

num = 10.0

if type(num) == float:
    print("Float")

Senior:

num = 10.0
if isinstance(num, float):
    print("Float")

Tür kontrolü, kodlama sürecinde oldukça önemlidir. Senior geliştiriciler, tür kontrolü için daha yaygın ve Pythonik bir yöntem olan “isinstance” kullanarak kodlarını kontrol edebilirler.

En iyi gelişmiş Python kod örnekleri

Liste Elemanları Üzerinde İterasyon

Junior:

numbers = [1, 2, 3, 4, 5]
squared_numbers = []

for num in numbers:
    squared_numbers.append(num**2)

Senior:

numbers = [1, 2, 3, 4, 5]
squared_numbers = [num**2 for num in numbers]

Python senior geliştiriciler liste elemanları üzerinde döngüyle yeni bir liste oluşturmak yerine, bir list comprehension kullanabilir. Bu kodlama teknikleri, kodların daha kısa ve okunaklı olmasını sağlar.

Sözlük Oluşturma

Junior:

keys = ["a", "b", "c"]
values = [1, 2, 3]

dictionary = {}
for key, value in zip(keys, values):
    dictionary[key] = value

Senior:

keys = ["a", "b", "c"]
values = [1, 2, 3]

dictionary = {key: value for key, value in zip(keys, values)}

Sözlükler, geliştiricinin programlama sürecinde kullanabileceği önemli veri yapılarından biridir. Senior geliştiriciler, sözlük oluşturmak için daha kısa ve okunabilir kodlama tekniklerini kullanabilir.

Dosya Okuma

Junior:

file = open("example.txt", "r")
content = file.read()
file.close()

Senior:

with open("example.txt", "r") as file:
    content = file.read()

Dosya işlemleri, programlama sürecinde önemli bir yer tutar. Senior geliştiriciler, dosya işlemlerini daha etkili bir şekilde yönetmek için “with” ifadesini kullanabilir.

Fonksiyon Tanımlama

Junior:

def square(x):

return x**2

Senior:

square = lambda x: x**2

Küçük işlevler için, lambda ifadeleri kullanarak, kodun daha kısa ve okunabilir hale getirilmesi mümkündür.

İleri Dize İşlemleri

Junior:

text = "Python"
reversed_text = ''.join(reversed(text))

Senior:

text = "Python"
reversed_text = text[::-1]

Senior geliştiriciler, diziyi ters çevirme işlemlerini daha kısa bir ifadeyle yapabilirler.

Filtreleme ve Haritalama

Junior:

numbers = [1, 2, 3, 4, 5]
even_squares = []

for num in numbers:
    if num % 2 == 0:
        even_squares.append(num**2)

Senior:

numbers = [1, 2, 3, 4, 5]
even_squares = [num**2 for num in numbers if num % 2 == 0]

Senior geliştiriciler filtreleme ve haritalama işlemlerini birleştirerek daha temiz bir liste oluşturabilirler.

Sözlükten Eleman Silme

Junior:

my_dict = {'a': 1, 'b': 2, 'c': 3}
if 'a' in my_dict:
    del my_dict['a']

Senior:

my_dict = {'a': 1, 'b': 2, 'c': 3}
my_dict.pop('a', None)

Senior geliştiriciler, sözlükten eleman silme işlemlerini daha etkili bir şekilde gerçekleştirebilirler.

İleri Koşullu İfadeler

Junior:

x = 5
if x > 0:
    y = "positive"
else:
    y = "non-positive"

Senior:

x = 5
y = 'positive' if x > 0 else 'non-positive'

Senior geliştiriciler, koşullu ifadeleri daha kısa ve anlaşılır hale getirmek için tek satırlık ifadelerden yararlanabilirsiniz

Hata Yakalama

Junior:

try:
    result = 10 / 0
except ZeroDivisionError:
    result = None

Senior:

result = None
try:
    result = 10 / 0
except ZeroDivisionError:
    pass

Senior geliştiriciler, hata-yakalama işlemlerini daha etkili bir şekilde yönetebilirler.

Liste Sıralama

Junior:

numbers = [3, 1, 4, 1, 5, 9, 2]
numbers.sort()

Senior:

numbers = [3, 1, 4, 1, 5, 9, 2]
sorted_numbers = sorted(numbers)

Senior geliştiriciler, liste sıralama işlemlerini orijinal listenin değişmesine izin vermeden gerçekleştirebilirler.

Koşullu Listeler

Junior:

numbers = [1, 2, 3, 4, 5]
squared_even_numbers = []

for num in numbers:
    if num % 2 == 0:
        squared_even_numbers.append(num**2)

Senior:

numbers = [1, 2, 3, 4, 5]
squared_even_numbers = [num**2 for num in numbers if num % 2 == 0]

Senior geliştiriciler, koşullu ifade kullanarak liste oluşturma işlemlerini daha kısa ve anlaşılır hale getirebilirler.

Sözlük Birleştirme

Junior:

dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged_dict = {}

for key, value in dict1.items():
    merged_dict[key] = value

for key, value in dict2.items():
    merged_dict[key] = value

Senior:

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
merged_dict = {**dict1, **dict2}

Senior geliştiriciler, sözlükleri birleştirmek için daha etkili bir yöntem olan tek bir sözlük comprehension kullanabilirler.

Koşullu Sözlük Oluşturma

Junior:

key = 'a'
value = 10

my_dict = {}
if key is not None:
    my_dict[key] = value

Senior:

key = 'a'
value = 10

my_dict = {key: value} if key is not None else {}

Senior geliştiriciler, koşullu ifade kullanarak sözlük oluşturma işlemlerini daha kısa ve anlaşılır hale getirebilirler.

Döngü İndeksiz İterasyon

Junior:

fruits = ['apple', 'banana', 'cherry']
for index in range(len(fruits)):
    print(fruits[index])

Senior:

fruits = ['apple', 'banana', 'cherry']
for fruit in fruits:
    print(fruit)

Döngü içinde indeks kullanmak yerine doğrudan elemanlar üzerinde iterasyon yapmak, kodu daha anlaşılır hale getirebilir.

Çoklu Parametreler ve args/*kwargs

Junior:

def print_colors(color1, color2, color3):
    print(color1, color2, color3)

Senior:

def print_colors(*colors):
    print(colors)

Python programlama dilinde çoğu zaman, bir depolama gişesi işlevi gören parametreler kullanılır. Senior geliştiriciler, *args ve **kwargs gibi birçok parametreyi aynı anda kullanarak, kodlarını daha kısa ve anlaşılır hale getirebilirler.

Tarih ve Saat Biçimlendirme

Junior:

from datetime import datetime

now = datetime.now()
formatted_datetime = now.strftime("%d%m%y %H:%M:%S")
print(formatted_datetime)

Senior:

from datetime import datetime

now = datetime.now()
print(f'{now:%d%m%y %H:%M:%S}')

Datetime biçimlendirme, tarih ve saat bilgilerini düzenleme. Junior seviyesindeki geliştiriciler genellikle strftime gibi yöntemleri tercih eder. Senior seviyesinde ise f-string kullanarak aynı işlemi daha sade ve anlaşılır bir şekilde gerçekleştirirler. Bu, kodun özlü ve okunabilir olmasını sağlar.

PYTHON

Bu kodlama teknikleri sayesinde geliştiriciler, Python programlama becerilerini geliştirerek daha modern kodlar yazabilirler. Bu yazıda ele alınan örnekler, python junior seviyesinden senior seviyesine geçerken kullanabileceğiniz pratik teknikleri göstermektedir.
Sevgili Okuyucularımız, Sizlere bilgi, eğlence ve ilham dolu içerikler sunabildiysek ne mutlu bize. Eğer yazımızda herhangi bir düzeltme veya öneri sunmak isterseniz, lütfen yorum yapmaktan çekinmeyin. Sizden gelen geri bildirimler, içeriklerimizi daha da geliştirmemiz için bize büyük bir yardımcı olacaktır. Teşekkür ederiz!
Unutmayın! Paylaşmak; kazanmanın en hızlı ve kolay yoludur. Bir sonraki makalede görüşmek dileğiyle esen kalın.

İçeriğimi beğendin mi? Bana destek olup bir kahve ısmarlayabilirsiniz. Çok teşekkür ederim!

Bu makale yardımcı oldu mu?
EvetHayır

Paylaş

1 yorum

  1. Kodun daha okunabilirliğini ve performansını artırmak için gerçekten çok iyi örnekler var. Hem gereksiz kod kalabalığından kurtuluyoruz hem de bazı yerlerde gereksiz metot kullanmaktan kaçınarak daha performanslı alternatif çözümler kullanıyoruz. Gerçekten çok güzel.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir