Python-da identifikatorlar (məsələn, dəyişən adları) üçün etibarlı və etibarsız adlar və adlandırma konvensiyaları

Biznes

Python-da identifikatorlar (dəyişənlərin adları, funksiyalar, siniflər və s.) qaydalara uyğun olaraq müəyyən edilməlidir. Qaydalara əməl etməyən adlar identifikator kimi istifadə edilə bilməz və xəta ilə nəticələnəcək.

Aşağıdakı məlumatlar burada verilir.

  • İdentifikatorlarda (adlar) istifadə edilə bilən və istifadə edilə bilməyən simvollar
    • ASCII simvolları
    • Unicode simvolu
      • normallaşma (məsələn, riyaziyyatda)
  • Sətin etibarlı identifikator olub olmadığını yoxlayın:isidentifier()
  • İdentifikator (adlar) kimi istifadə edilə bilməyən sözlər (ehtiyat sözlər)
  • İdentifikator kimi istifadə edilməməli olan sözlər (adlar)
  • PEP8 üçün adlandırma konvensiyaları

Aşağıdakı təsvir Python 3-də verilmişdir və Python 2-də fərqli ola bilər.

İdentifikatorlarda (adlar) istifadə edilə bilən və istifadə edilə bilməyən simvollar

İdentifikator (adlar) kimi istifadə edilə bilən və edilə bilməyən simvolları göstərir.

Bundan əlavə, yazmaq üçün çox şey olsa da, əsasən yadda saxlamağınız lazım olan yalnız aşağıdakılardır.

  • Böyük və kiçik hərflərdən, rəqəmlərdən və alt xəttdən istifadə edin.
  • İlk (birinci) hərf rəqəm ola bilməz.

ASCII simvolları

İdentifikator (adlar) kimi istifadə edilə bilən ASCII simvolları böyük və kiçik əlifbalar (A~Z,a~z), rəqəmlər (0~9) və alt xətt (_)dır. Əlifba böyük hərflərə həssasdır.

AbcDef_123 = 100
print(AbcDef_123)
# 100

Alt xəttdən başqa simvollardan istifadə etmək olmaz.

# AbcDef-123 = 100
# SyntaxError: can't assign to operator

Həmçinin, rəqəmlər əvvəlində (ilk hərf) istifadə edilə bilməz.

# 1_abc = 100
# SyntaxError: invalid token

Alt xəttlər başlanğıcda da istifadə edilə bilər.

_abc = 100
print(_abc)
# 100

Bununla belə, qeyd edin ki, başlanğıcdakı alt xətt xüsusi məna kəsb edə bilər.

Unicode simvolu

Python 3-dən bəri Unicode simvolları da istifadə edilə bilər.

変数1 = 100
print(変数1)
# 100

Bütün Unicode simvollarından istifadə edilə bilməz və Unicode kateqoriyasından asılı olaraq bəziləri istifadə edilə bilməz. Məsələn, durğu işarələri və piktoqramlar kimi simvollardan istifadə etmək olmaz.

# 変数。 = 100
# SyntaxError: invalid character in identifier

# ☺ = 100
# SyntaxError: invalid character in identifier

İstifadə edilə bilən Unicode kateqoriya kodları üçün rəsmi sənədlərə baxın.

Bir çox hallarda Çin simvollarından və s. istifadə etməyin heç bir üstünlüyü yoxdur, çünki Unicode simvolları da istifadə edilə bilər (səhvsiz).

normallaşma (məsələn, riyaziyyatda)

Unicode simvolları şərh üçün normallaşdırılmış NFKC formasına çevrilir. Məsələn, tam enli əlifbalar yarım enli əlifbalara (ASCII simvolları) çevrilir.

Qeyd edək ki, mənbə kodu fərqli displey göstərsə belə, o, eyni obyekt sayılır və üzərinə yazılacaq.

ABC = 100
ABC = -100

print(ABC)
# -100

print(ABC)
# -100

print(ABC is ABC)
# True

Sətin etibarlı identifikator olub olmadığını yoxlayın: isidentifier()

Sətin identifikator kimi etibarlı olub-olmaması string metodu isidentifier() ilə yoxlanıla bilər.

İdentifikator kimi etibarlıdırsa doğru, etibarsızdırsa false qaytarır.

print('AbcDef_123'.isidentifier())
# True

print('AbcDef-123'.isidentifier())
# False

print('変数1'.isidentifier())
# True

print('☺'.isidentifier())
# False

İdentifikator (adlar) kimi istifadə edilə bilməyən sözlər (ehtiyat sözlər)

Bəzi sözlər (ehtiyat sözlər) var ki, onlar identifikator (adlar) kimi etibarlı sətirlər olsa belə, identifikator kimi istifadə edilə bilməz.

Qorunan söz identifikator kimi etibarlı sətir olduğundan, isidentifier() doğru qaytarır, lakin identifikator kimi istifadə edildikdə xəta baş verir.

print('None'.isidentifier())
# True

# None = 100
# SyntaxError: can't assign to keyword

Qorunan sözlərin siyahısını əldə etmək və sətirin qorunan söz olub-olmadığını yoxlamaq üçün standart kitabxananın açar söz modulundan istifadə edin.

İdentifikator kimi istifadə edilməməli olan sözlər (adlar)

Məsələn, Python-un daxili funksiyalarının adları identifikator kimi istifadə edilə bilər, beləliklə siz onlara dəyişənlər kimi yeni dəyərlər təyin edə bilərsiniz.

Məsələn, len() siyahıdakı elementlərin sayını və ya sətirdəki simvolların sayını qaytaran daxili funksiyadır.

print(len)
# <built-in function len>

print(len('abc'))
# 3

Bu ada yeni dəyər təyin etsəniz, orijinal funksiyanın üzərinə yazılacaq və yararsız hala düşəcək. Qeyd edək ki, yeni dəyər təyin edərkən heç bir xəta və ya xəbərdarlıq çap edilməyəcək.

print(len('abc'))
# 3

len = 100
print(len)
# 100

# print(len('abc'))
# TypeError: 'int' object is not callable

Digər ümumi səhv list = [0, 1, 2] istifadə etməkdir ki, bu da list() funksiyasından istifadə etməyi qeyri-mümkün edir. Ehtiyatlı ol.

PEP8 üçün adlandırma konvensiyaları

PEP, Python-un yeni xüsusiyyətlərini və digər aspektlərini təsvir edən sənəd olan Python Enhancement Proposal deməkdir.

PEP stands for Python Enhancement Proposal. A PEP is a design document providing information to the Python community, or describing a new feature for Python or its processes or environment.
PEP 1 — PEP Purpose and Guidelines | Python.org

PEP8 səkkizincidir və o, “Python Kodu üçün Stil Bələdçisini”, yəni Python üçün üslub bələdçisini təsvir edir.

Adlandırma qaydaları da qeyd olunur.

Daha ətraflı məlumat üçün yuxarıdakı linkə baxın, lakin məsələn, aşağıdakı yazı üslubu tövsiyə olunur.

  • Modul
    • lowercase_underscore
    • Kiçik hərf + alt xətt
  • Paket
    • lowercase
    • bütün kiçik hərflər
  • Dərslər, İstisnalar
    • CapitalizedWords(CamelCase)
    • Sözün ilk hərfini böyük yazın, alt xətt qoymayın
  • Funksiyalar, dəyişənlər və üsullar
    • lowercase_underscore
    • Kiçik hərf + alt xətt
  • Sabit
    • ALL_CAPS
    • Böyük hərflər + alt xətt

Bununla birlikdə, təşkilatınızın öz adlandırma qaydaları yoxdursa, PEP8 -ə riayət etmək tövsiyə olunur.

Copied title and URL