Kategoriler
Kodlama

Kullanışlı 18 Python kodu

Kodlama sürecinizi hızlandıracak tek satırlık 18 Python kod parçacığı.

Kodlama sürecinizi hızlandıracak tek satırlık 18 Python kod parçacığı(one-liner code).

Lütfen bu satırları herhangi bir canlı projede veya herhangi bir üretim tabanlı kodda kullanmayın. Makale, bazı programların/kod bloklarının tek satırda değiştirildiğini görmek, denemek için sadece eğlence ve bilgi amaçlıdır. Eğitim, bilgi ve yani başlayanlar içindir.

Dikkat!
Python One-Liners – Introduction

Merhaba arkadaşlar, bugün Python’da one-liner’lardan bahsedeceğiz. Python’u ne zaman öğrenmeyi seçtiğimi açıkça hatırlıyorum, bunun nedeni basitlik ve okunabilirlikti. Ancak daha az kod satırıyla python kodunu ne daha kolay hale getirebileceğinizi biliyorsunuz. Aynen! bu doğru bro. Bu tek satırlık kodlar size çok fazla zaman ve hafıza kazandırabilir ve arkadaşlarınızı etkileyebilir…

hımm....
🧐

tek satırlık(one-liner code) kod nedir?

Tek satırlık kodu, tek satıra sığacak şekilde sıkıştırılmış bir kod bloğu olarak düşünebilirsiniz. Tek bir satırda paketlenmiş özlü, yoğun, kullanışlı programlardır.

neden ihtiyacım var?

Yani, tek satırlık yazmanın büyük bir hayranı değilseniz veya sadece bunları neden bilmem gerektiğini merak ediyorsanız, aşağıda oldukça ikna edici konular var.

  • Tek satırları anlamak, dili çok daha iyi anlayacağınız için bir python uzmanı yapacaktır.
  • Bu, kodu daha hızlı yazmanıza yardımcı olacaktır. Rekabetçi programlamada size yardımcı olacak kod parçasını diğerlerinden çok daha hızlı yazabilirsiniz.
  • On-liner’lar, temellerinizi güçlendirirken temellerinizi ve programlama köklerinizi geliştirecektir.
  • Kodu daha Pythonic bir şekilde yazacaksınız. Genel olarak, farklı dillerden gelen insanlar python’da genellikle Pythonic olmayan bir şekilde kod yazarlar, örneğin liste anlama, çoklu atamalar ve dilimleme vb. kullanmazlar.
  • Arkadaşlarınızı, iş arkadaşlarınızı etkileyebilir ve tek satırları iyi bir şekilde kavrarsanız görüşmenizde iyi bir izlenim bırakabilirsiniz.

Ama aynı zamanda biraz zor da olabilir. Programlamayı satranç olarak hayal edin. Temel bilgilerin değişkenlerin, döngülerin, koşulların, veri yapılarının, sınıfların ne olduğunu bilmek gibi olduğunu biliyorsunuz, ancak ana filmleri öğrenmek ve kendi stratejinizi oluşturmak tek satırlık gibidir. Başlangıçta, zor ve oldukça bunaltıcı olabilir, ancak bir kez onları tanıdıktan sonra. Büyüklüğe ulaşabilir ve diğer birçok oyuncudan daha hızlı maçlar kazanabilirsiniz. Her şeyin bir bedeli vardır kanka…

Basics

1. If-else

Before

if 3 < 2:
    var=21
else:
    var=42

After

var = 21 if 3<2 else 42

2. Elif

Before

>>> x = 42
>>> if x > 42:
>>>     print("no")
>>> elif x == 42:
>>>     print("yes")
>>> else:
>>>     print("maybe")
yes

After

>>> print("no") if x > 42 else print("yes") if x == 42 else print("maybe")
yes

3. If without else

Before

condition = True

if condition:
    print('hi')

After

if condition: print('hello')
print('hello') if condition else None

4. Function

Before

def f(x):
    return "hello "+ x

After

f = lambda x: "hello "+ x
f = exec("def f(x):\n    return 'hello '+ x")

5. Loop(list comprehension)

Before

squares = []
for i in range(10):
    squares.append(i**2)

After

squares=[i**2 for i in range(10)]

6. Loop with If

Before

squares = []
for i in range(10):
    if i%2==0:
        squares.append(i**2)

After

squares = [i**2 for i in range(10) if i%2==0]

7. Loop with if else

Before

squares = []
for i in range(10):
    if i%2==0:
        squares.append(i**2)
    else:
        squares.append(False)

After

squares = [i**2 if i%2==0 else False for i in range(10)]

8. While Loop with if else

Before

c=0
while c < 10:
    if c!=5:
        print(c)
    else:
        print("FIVE")
    c+=1

After

while c < 10: c+=1; print(c) if c!=5 else print("FIVE")

9. swap variables

Before

>>> def swap(x,y):
    x = x ^ y
    y = x ^ y
    x = x ^ y
    return x, y
>>> swap(10,20)
(20,10)

After

>>> x, y = 10, 20
>>> x, y = y, x
(20, 10)

10. Multiple Assignment

Before

a="ONE"
b=2
c=3.001

After

a, b, c = "One", 2, 3.001

11. Write String In File

Before

text = "Helllloooooo"
fileName = "hello.txt"
f=open(fileName, "a")
f.write(text)
f.close()

After

text = "Helllloooooo"
fileName = "hello.txt"
print(text, file=open(fileName, 'a'))

12.Quicksort

Before

# Source - https://stackabuse.com/quicksort-in-python/

def partition(array, start, end):
    pivot = array[start]
    low = start + 1
    high = end

    while True:
        while low <= high and array[high] >= pivot:
            high = high - 1

        while low <= high and array[low] <= pivot:
            low = low + 1

        if low <= high:
            array[low], array[high] = array[high], array[low]
        else:
            break

    array[start], array[high] = array[high], array[start]

    return high

def quick_sort(array, start, end):
    if start >= end:
        return

    p = partition(array, start, end)
    quick_sort(array, start, p-1)
    quick_sort(array, p+1, end)

array = [29,99,27,41,66,28,44,78,87,19,31,76,58,88,83,97,12,21,44]

quick_sort(array, 0, len(array) - 1)
print(array)

After

array = [29,99,27,41,66,28,44,78,87,19,31,76,58,88,83,97,12,21,44]
q = lambda l: q([x for x in l[1:] if x <= l[0]]) + [l[0]] + q([x for x in l if x > l[0]]) if l else []
print(q(array))

13. Fibonacci

Before

def fib(x):
    if x <= 2:
        return 1
    return fib(x - 1) + fib(x - 2)

After

fib=lambda x: x if x<=1 else fib(x-1) + fib(x-2)

14. HTTP Server

Before

import http.server
import socketserver
PORT = 8000
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()

After

python -m http.server 8000

15. Nested For Loops

Before

iter1 = [1, 2, 3, 4]
iter2 = ['a', 'b', 'c']
for x in iter1:
    for y in iter2:
        print(x, y)

After

[print(x, y) for x in iter1 for y in iter2]

16. Print Without Newline

Before

for i in range(1,5):
    print(i, end=" ")

After

print(*range(1,5))

17. Class

Before

class School(): 
    fun ={}

After

School = type('School', (object,),{'fun':{}})

18. Walrus:= (Python 3.8)

Before

command = input("> ")
while command != "quit":
    print("You entered:", command)

After

while (command := input("> ")) != "quit": print("You entered:", command)

Sonuç

Artık python tek one-liners hakkında biraz bilginiz var ve bu, kodlama sürecinizi hızlandırmanıza yardımcı olacak. Ben de daha önce bilmediğim bazı harika numaralar ve tek laflar öğrendiğim için, umarım bu makaleden yeni bir şeyler öğrenmişsinizdir. Sizde de durum böyleyse motivasyonumu arttırdığında (1 beğeni = 1 iyi karma) Beğendim butonuna basın. Ayrıca gönderiyi arkadaşlarınızla paylaşın ki onlar da yeni bir şeyler öğrenebilsinler (bencil olmayın…). Tekrar aklınızda olmak dileğiyle, o zamana kadar hoşçakalın!

hoşçakalın
hoşçakalın

Diğer Makaleler

Sosyal

Kitap ve görsel kaynak: pythononeliners.com, Christian Mayer.