Python
Python - foydalanish uchun qulay, ko'p qirrali dasturlash tili bo'lib, dasturlashga yangi kirganlar uchun ham, soha mutaxassislari uchun ham zo'r tanlov hisoblanadi.
C tilidan farqli o‘laroq, Python interpretatsiya qilinadigan til bo‘lib, unda dasturni alohida kompilyatsiya qilish shart emas. Buning o‘rniga dasturni Python interpretatorida ishga tushiriladi.
C tilida yozilgan "hello, world"
xabarini ekranga chiqaruvchi kod Python tilida quyidagicha ifodalanadi:
print("hello, world")
E’tibor beradigan bo'lsak bunda hech qanday nuqtali vergul yo‘q va hech qanday kutubxona talab qilinmaydi. Pythonda C tilida ancha murakkab bo‘lgan kodlarni nisbatan oddiylik bilan amalga oshirishi mumkin.
O‘zgaruvchini e’lon qilish (Variable declaration) jarayoni Python tilida soddalashtirilgan. Masalan, C tilida o'zgaruvchini int counter = 0;
kabi e'lon qilinadi. Python tilida esa o‘zgaruvchining turini e’lon qilish talab qilinmaydi: counter = 0
.
Python’da ma’lumot turlarini aniq ko‘rsatish shart emas, uni interpretatorning o'zi o'zgaruvchining qiymatiga qarab aniqlashtirib oladi.
Python’da odatda quyidagi ma'lumot turlar qo‘llaniladi:
- bool
- float
- int
- str
C tilidagi kabi long
va double
turlari Python'da mavjud emas. Python katta va kichik sonlar uchun qaysi ma’lumot turini ishlatish kerakligini o‘zi hal qiladi.
Python’da qo'llaniladigan boshqa ma’lumot turlariga quyidagilar kiradi:
- range
- list
- tuple
- dict
- set
Bu ma’lumot turlarining har birini C tilida ham amalga oshirish mumkin, biroq Python’da ularni yanada soddaroq tarzda qo‘llash imkoniyati mavjud.
Shart operatorlari
Python'da shart operatorlaridan foydalanganda qavslar - ()
majburiy emas.
Python'da {}
o‘rniga indentatsiya ishlatiladi.
else if
C'da ishlatilsa, Python'da buning o‘rniga elif
qo‘llaniladi.
if
, elif
va else
operatorlaridan keyin qo'sh nuqta :
qo‘yiladi.
from cs50 import get_int
x = get_int("x ni kiriting: ")
y = get_int("y ni kiriting: ")
if x < y:
print("x soni y sonidan kichik")
elif x > y:
print("x soni y sonidan katta")
else:
print("x soni y soniga teng")
C'da ||
bilan ifodalanadigan "yoki" mantiqiy operatori Python'da or
bilan almashtiriladi.
Python'da char
o‘rniga str
ishlatiladi, bu esa bitta belgi yoki satr bilan ishlash imkonini beradi.
from cs50 import get_string
s = get_string("Ma'lumotlar o'zgartirilishiga rozimisiz? ")
if s == "Y" or s == "y":
print("Ha.")
elif s == "N" or s == "n":
print("Yo'q.")
Takrorlash operatorlari
Python’da takrorlanish operatorlari (loops) sintaksisi C ga juda o‘xshash, lekin sodda va tushunarliroq.
while
sikli yordamida "meow" xabarini ekranga chiqaramiz:
i = 0
while i < 3:
print("meow")
i += 1
for
sikli yordamida yuqoridagi kodni yana ham soddalashtirishimiz mumkin:
for i in range(3):
print("meow")
Bu yerda i
ning qiymatini Python avtomatik ravishda oshirib boradi.
Shuningdek, yuqoridagi kodni quyidagicha yozishimiz mumkin:
def main():
meow(3)
def meow(n):
for i in range(n):
print("meow")
main()
Bunday yondashuv kodni modullashtiradi.
List (Ro'yxat)
List yordamida bir o'zgaruvchida ko'p qiymatlar saqlashimiz mumkin. Listlarning elementlariga indexsi orqali murojaat qila olamiz.
scores = [72, 73, 33]
# O'rtacha qiymatni topamiz
average = sum(scores) / len(scores)
print(f"Average: {average}")
len()
metodi yordamida listing uzunligini, ya'ni elementlar sonini aniqlaymiz.
sum()
metodi yordamida sonlardan iborat bo’lgan listning elemtlari yig’indisini hisoblaymiz.
Foydalanuvchidan qiymatlarni olish uchun sikldan foydalanish mumkin:
from cs50 import get_int
# Foydalanuvchidan qiymatlarni kiritishni so'raymiz
scores = []
for i in range(3):
score = get_int("Score: ")
scores.append(score)
# O'rtacha qiymatni topamiz
average = sum(scores) / len(scores)
print(f"Average: {average}")
append
metodi listga yangi qiymat qo‘shadi.
Python’da list ichida qiymatni qidirish uchun sikldan foydalanish yoki qisqaroq usuldan foydalanish mumkin:
# Ismlar ro'yxati
names = ["Carter", "David", "John"]
# Foydalanuvchidan ism kiritishni so'raymiz
name = input("Name: ")
# Ro'yxatdan qidiramiz
if name in names:
print("Topildi")
else:
print("Topilmadi"
in
operatori list ichida qaralayotgan qiymat bor-yo‘qligini tekshiradi.
Dictionary (Lug'at)
Dictionary — bu kalit-qiymat juftliklari bo‘lib, qidiruv jarayonini tezlashtiradi.
from cs50 import get_string
people = {
"Carter": "+1-617-495-1000",
"David": "+1-617-495-1000",
"John": "+1-949-468-2750",
}
# Kiritilgan ismni qo'yxatdan qidiramiz
name = get_string("Name: ")
if name in people:
print(f"Telefon raqam: {people[name]}")
else:
print("Topilmadi")
people[name]
orqali lug‘at ichidan mos qiymat olinadi.
Lug‘atning qidirish tezligi odatda O(1)
.
Buyruq Qatori Argumentlari
Python’da sys
kutubxonasi yordamida buyruq qatori argumentlarini ishlatish mumkin:
from sys import argv
if len(argv) == 2:
print(f"salom, {argv[1]}")
else:
print("salom, dunyo")
argv
- argumentlar ro‘yxatini o‘z ichiga oladi, birinchi element esa fayl nomidir.
Barcha argumentlarni ekranga chiqaramiz:
from sys import argv
for arg in argv:
print(arg)
Dastur qanday holatda yakunlagnanini bildirish uchun ma’lum chiqish kodlari (exit status) dan foydalanamiz:
import sys
if len(sys.argv) != 2:
print("Buyruq qatori argumentini kiriting.")
sys.exit(1)
print(f"salom, {sys.argv[1]}")
sys.exit(0)
sys.exit()
yordamida chiqish kodi qaytariladi (masalan, 0 — dastur muvaffaqiyatli yakunlanganligini bildiradi).
Ushbu maqolada CS50x 2024 manbasidan foydalanilgan.
Top comments (0)