25 / 59

Python Main Function

Pythonda main() funksiyasi nima?

Ba'zi dasturlash tillarida dastur faylining bajarilish nuqtasi bo'lgan main() deb ataluvchi maxsus funksiya mavjud. Biroq, Python interpretatori har bir qatorni fayl boshidan ketma-ket ishga tushiradi va aniq main() funksiyasiga ega emas.

Python bajarilish nuqtasini belgilash uchun boshqa konvensiyalarni taklif etadi. Ulardan biri — main() funksiyasi va Python faylining __name__ xususiyatidan foydalanish.

Pythonda name nima?

__name__ o'zgaruvchisi — joriy modulning nomini ko'rsatuvchi maxsus tayyor (built-in) Python o'zgaruvchisi.

U Python faylini qayerda ishga tushirishimizga qarab turli qiymatlarga ega bo'ladi. Keling, bir misolni ko'rib chiqamiz.

Python faylini skript sifatida ishga tushirish

Aytaylik, bizda quyidagi kontentga ega helloworld.py nomli Python faylimiz bor:

example.py
print(__name__)

Agar helloworld.pyni buyruqlar qatoridan ishga tushirsak, u Python skripti sifatida ishlaydi. Python dasturini quyidagi buyruq yordamida ishga tushirishimiz mumkin:

kod
$ python helloworld.py

Dasturni skript sifatida ishga tushirganimizda, __name__ o'zgaruvchisining qiymati __main__ga o'rnatiladi. Shunday qilib, quyidagi dasturning natijasi bunday bo'ladi:

kod
__main__

Python faylini modul sifatida ishga tushirish

Python faylini modul sifatida ham ishga tushirishimiz mumkin. Buning uchun, bu faylni boshqa Python dasturiga import qilishimiz kerak. Keling, bir misolni ko'rib chiqamiz.

Aytaylik, bizda helloworld.py fayli bilan bir xil papkada main.py nomli Python faylimiz bor. U quyidagi kontentga ega:

example.py
import helloworld

Bu faylni ishga tushirganimizda, quyidagi natijaga ega bo'lamiz:

kod
helloworld

Bu yerda ko'rib turganimizdek, modulni import qilish modul faylidagi barcha kodni ham ishga tushiradi.

Lekin, ko'rib turganimizdek, __main__ ko'rsatish o'rniga, dastur modulning nomini, ya'ni helloworldni ko'rsatadi.

Buning sababi, Python faylini modul sifatida ishga tushirish kontekstida, modulning o'z nomi __name__ o'zgaruvchisiga beriladi.

name bilan if shartidan foydalanish

Endi __name__ o'zgaruvchisiga qanday qiymatlar berilishini tushunganimizdan so'ng, xuddi shu Python faylini turli kontekstlarda turlicha ishga tushirish uchun if shart operatoridan foydalanishimiz mumkin.

Keling, bir misolni ko'rib chiqamiz.

Aytaylik, helloworld.py faylining kontentini quyidagicha o'zgartiramiz:

example.py
def main():
    print("Hello World")

if __name__=="__main__":
    main()

Endi, uni buyruqlar qatori orqali skript sifatida ishga tushirganimizda, natija bunday bo'ladi:

kod
Hello World

Biroq, uni main.py fayliga import qilib, modul sifatida ishga tushirganimizda, main() funksiyasi chaqirilmagani uchun hech qanday natija ko'rsatilmaydi.

Bu yerda biz helloworld.py faylida maxsus main() funksiyasini yaratdik. U faqat dastur mustaqil skript sifatida ishga tushirilganda bajariladi, import qilingan modul sifatida emas.

Bu Pythonda main() funksiyasini aniq belgilashning standart usuli. Bu Python faylining __name__ o'zgaruvchisining eng mashhur qo'llanilish holatlaridan biri.

Ko'proq o'qing: Python Functions

QBilimingizni sinab ko'ring
1 / 3

1. Python fayli buyruqlar qatoridan to'g'ridan-to'g'ri (skript sifatida) ishga tushirilganda, __name__ ning qiymati nimaga teng bo'ladi?