NEW
Font size
WorksheetsПайтон
Total questions: 15
Worksheet time: 7mins
Try/except блоктарының жұмыс механизмі және finally блогының рөлі
Finally блогы тек қате шыққанда ғана орындалады.
Try/except қателерді ұстап өңдейді, finally блогы қате шықса да, шықпаса да міндетті түрде орындалады.
Try блогы тек синтаксистік қателерді ұстайды.
Except блогы әрқашан try-дан бұрын орындалады.
Кодты толықтырыңыз
try: file = open("data.txt") data = file.read() except: ____________ finally: file.__________
• except: print("Error")
• finally: close()
• except: pass; finally: open()
• except: data.close(); finally: print()
• except: file.write(); finally: continue
ЕСЕП: «Сандарды файлға жазып, орташа мәнін есептеу
nums = input("Сандарды енгізіңіз: ").split()
nums = [int(x) for x in nums]
with open("numbers.txt", "w") as f:
for n in nums:
f.write(str(n) + "\n")
with open("numbers.txt", "r") as f:
data = [int(line) for line in f]
avg = sum(data) / len(data)
print("Орташа мән:", avg)
nums = [1, 2, 3]
data = nums
avg = sum(data) / 3
print(avg)
with open("numbers.txt", "w") as f:
f.write("1 2 3")
with open("numbers.txt", "r") as f:
data = [int(f.read())]
print(sum(data)/len(data))
with open("numbers.txt", "w") as f:
f.write("1\n2\n3\n")
with open("numbers.txt", "r") as f:
lines = f.readlines()
print(lines)
Файлды ашу режимдері
Файл ашу режимдері: "r", "w", "a", "x", "b", "r+", әрқайсысы оқу/жазуға әртүрлі мүмкіндік береді.
Файл тек "read" және "write" режимдерінде ғана ашылады.
Режимдер тек бинарлы файлдарға ғана қатысты.
Python файл режимін автоматты таңдайды, қолмен көрсету қажет емес.
КОДТЫ ТОЛЫҚТЫРУ
with open("log.txt", "___") as f:f.________("Start\n")
"r", read
"b", appendline
"a", write
"w", close
ЕСЕП: Ең жиі кездесетін сөз
with open("text.txt", "r") as f:
text = f.read()
print(text)
with open("text.txt", "r") as f:
chars = f.read()
freq = {}
for c in chars:
freq[c] = freq.get(c, 0) + 1
print(max(freq, key=freq.get))
with open("text.txt", "r") as f:
words = f.read().split()
freq = {}
for w in words:
freq[w] = freq.get(w, 0) + 1
most = max(freq, key=freq.get)
print(most)
with open("text.txt", "r") as f:
words = f.read().split()
print(words[0])
ТЕОРИЯ: ООП принциптері
HTML, CSS, JS — ООП принциптері.
Тек инкапсуляция ғана маңызды.
Компиляция, агрегация, интерфейс — негізгі принциптер.
Негізгі принциптер: инкапсуляция, мұрагерлік, полиморфизм.
КОДТЫ ТОЛЫҚТЫРУ
class Bank:
def init(self, balance):
self.__balance = _______
0
"balance"
self.balance
balance
ЕСЕП: Employee
кате еместы тап
class Employee:
def init(self, name, age, salary):
self.name = name
print("Done")
def raise_salary(amount):
pass
rich = [e.name for e in employees if e.salary < 200000]
class Employee:
def init(self, name, age, salary):
self.name = name
self.age = age
self.salary = salary
def raise_salary(self, amount):
self.salary += amount
employees = [
Employee("Ali", 30, 150000),
Employee("Dana", 25, 250000),
Employee("Nurlan", 40, 300000)
]
rich = [e.name for e in employees if e.salary > 200000]
print(rich)
ТЕОРИЯ: Полиморфизм, инкапсуляция, мұрагерлендіру
Бұл Python кітапханалары
Полиморфизм тек Java-да бар.
Полиморфизм – әдістердің әртүрлі жүзеге асуы; инкапсуляция – деректерді жасыру; мұрагерлендіру – атрибуттарды беру.
Инкапсуляция деректерді көбейтеді.
КОДТЫ ТОЛЫҚТЫРУ
class Shape:def area(self):
________
raise NotImplementedError
print("area")
return 0
pass
ЕСЕП: Каталогтағы файлдар
print(".")
import os
path = "."
files = os.listdir(path)
for f in files:
print(f)
with open("data.txt", "r") as f:
for i, line in enumerate(f):
if i % 10 == 0:
print(line.strip())
os.system("ls")
for f in os.listdir("."):
os.remove(f)
ТЕОРИЯ: super()
super() атрибуттарды өшіреді.
super() тек C++ тілінде бар.
super() тек статикалық әдістерге арналған.
super() базалық класстың әдістерін шақыруға мүмкіндік береді.
КОДТЫ ТОЛЫҚТЫРУ
class Student(Person):
def init(self, name, gpa):
super().__________(name)
self.gpa = gpa
run
super
parent
init
ЕСЕП: Teacher фильтр
class Teacher(Person):
def init(self, name, subject, exp):
self.name = name
class Teacher:
def init(self, name):
self.name = name
[t.name for t in teachers if t.subject != "Math"]
class Person:
def init(self, name):
self.name = name
class Teacher(Person):
def init(self, name, subject, exp):
super().__init__(name)
self.subject = subject
self.exp = exp
teachers = [
Teacher("Ali", "Math", 5),
Teacher("Dana", "Physics", 3),
Teacher("Sara", "Math", 4)
]
math_teachers = [t.name for t in teachers if t.subject == "Math"]
print(math_teachers)
