Rumah > pembangunan bahagian belakang > Tutorial Python > Hacks Python Lanjutan atau

Hacks Python Lanjutan atau

王林
Lepaskan: 2024-07-24 09:26:41
asal
824 orang telah melayarinya

Advanced Python Hacks ou

Python ialah bahasa yang serba boleh dan berkuasa, dan menguasai ciri lanjutannya boleh meningkatkan kecekapan pengekodan dan kebolehbacaan anda dengan ketara. Berikut ialah beberapa petua Python lanjutan untuk membantu anda menulis kod yang lebih baik, bersih dan lebih cekap.

Saya menulis 2 buku kecil untuk dibaca pada hujung minggu yang meliputi ular sawa, berikut pautannya: (1) https://leanpub.com/learnpython_inweekend_pt1 & (2) https://leanpub.com/learnpython_inweekend_pt2


1. Gunakan Pemahaman Senarai untuk Kod Ringkas

Pemahaman senarai menawarkan cara ringkas untuk membuat senarai. Mereka selalunya boleh menggantikan gelung tradisional dan pernyataan bersyarat, menghasilkan kod yang lebih bersih dan lebih mudah dibaca.

# Traditional approach
numbers = [1, 2, 3, 4, 5]
squared_numbers = []
for num in numbers:
    squared_numbers.append(num ** 2)

# Using list comprehension
squared_numbers = [num ** 2 for num in numbers]
Salin selepas log masuk

2. Ungkit Ungkapan Penjana untuk Kecekapan Memori

Ekspresi penjana membolehkan anda mencipta iterator dengan cara yang ringkas tanpa menyimpan keseluruhan urutan dalam ingatan, menjadikannya lebih cekap ingatan.

# List comprehension (creates a list)
squared_numbers = [num ** 2 for num in numbers]

# Generator expression (creates an iterator)
squared_numbers = (num ** 2 for num in numbers)
Salin selepas log masuk

3. Gunakan enumerate() untuk Penjejakan Indeks

Apabila mengulangi sesuatu yang boleh diulang dan perlu menjejaki indeks setiap elemen, fungsi enumerate() adalah tidak ternilai.

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
    print(f"Index: {index}, Fruit: {fruit}")
Salin selepas log masuk

4. Permudahkan Penggabungan Rentetan dengan join()

Menggunakan kaedah join() untuk menggabungkan rentetan adalah lebih cekap daripada menggunakan operator +, terutamanya untuk rentetan besar.

fruits = ['apple', 'banana', 'cherry']
fruit_string = ', '.join(fruits)
print(fruit_string)  # Output: apple, banana, cherry
Salin selepas log masuk

5. Gunakan __slots__ untuk Mengurangkan Penggunaan Memori

Secara lalai, Python menyimpan atribut contoh dalam kamus, yang boleh menggunakan memori yang ketara. Menggunakan __slots__ boleh mengurangkan penggunaan memori dengan memperuntukkan memori untuk set tetap pembolehubah contoh.

class Point:
    __slots__ = ['x', 'y']
    def __init__(self, x, y):
        self.x = x
        self.y = y
Salin selepas log masuk

6. Guna contextlib.suppress untuk Abaikan Pengecualian

Pengurus konteks contextlib.suppress membenarkan anda mengabaikan pengecualian tertentu, memudahkan kod anda dengan mengelakkan sekatan cuba-kecuali yang tidak perlu.

from contextlib import suppress

with suppress(FileNotFoundError):
    with open('file.txt', 'r') as file:
        contents = file.read()
Salin selepas log masuk

7. Gunakan Modul itertools

Modul itertools menawarkan koleksi fungsi yang cekap untuk bekerja dengan iterator. Fungsi seperti produk, pilih atur dan gabungan boleh memudahkan operasi yang kompleks.

import itertools

# Calculate all products of an input
print(list(itertools.product('abc', repeat=2)))

# Calculate all permutations
print(list(itertools.permutations('abc')))
Salin selepas log masuk

8. Gunakan functools.lru_cache untuk Caching

Penghias functools.lru_cache boleh cache hasil panggilan fungsi yang mahal, meningkatkan prestasi.

from functools import lru_cache

@lru_cache(maxsize=32)
def fibonacci(n):
    if n < 2:
        return n
    return fibonacci(n-1) + fibonacci(n-2)
Salin selepas log masuk

9. Penghias Induk untuk Kod Lebih Bersih

Penghias ialah alat yang berkuasa untuk mengubah suai gelagat fungsi atau kelas. Ia boleh digunakan untuk pengelogan, kawalan akses dan banyak lagi.

def my_decorator(func):
    def wrapper():
        print("Something is happening before the function is called.")
        func()
        print("Something is happening after the function is called.")
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

say_hello()
Salin selepas log masuk

10. Gunakan Trik For-Else

Pembinaan for-else dalam Python membolehkan anda melaksanakan blok lain selepas gelung for selesai seperti biasa (iaitu, tanpa menemui pernyataan putus). Ini amat berguna dalam operasi carian.

for n in range(2, 10):
    for x in range(2, n):
        if n % x == 0:
            print(f"{n} equals {x} * {n//x}")
            break
    else:
        # Loop fell through without finding a factor
        print(f"{n} is a prime number")
Salin selepas log masuk

Kesimpulan

Dengan memasukkan petua Python lanjutan ini ke dalam aliran kerja pembangunan anda, anda boleh menulis kod yang lebih cekap, boleh dibaca dan boleh diselenggara.

Sama ada anda mengoptimumkan penggunaan memori dengan __slots__, memudahkan operasi rentetan dengan join(), atau memanfaatkan kuasa modul itertools, teknik ini boleh meningkatkan kemahiran pengaturcaraan Python anda dengan ketara.

Teruskan meneroka dan mengamalkan konsep ini untuk kekal di hadapan dalam perjalanan Python anda.

Atas ialah kandungan terperinci Hacks Python Lanjutan atau. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan