Примітка: Це український переклад тесту оцінки навичок Python від LinkedIn. Для оригінальної англійської версії дивіться python-quiz.md.
any() для списку?any() завжди повертає випадковий елемент зі списку.any() повертає True, якщо будь-який елемент у списку оцінюється як True. Інакше вона повертає False.any() приймає як аргументи список для перевірки та елемент для перевірки. Якщо “будь-який” з елементів у списку відповідає елементу для перевірки, функція повертає True.any() повертає булеве значення, яке відповідає на питання “Чи є в цьому списку елементи?”приклад
if any([True, False, False, False]) == True:
print('Yes, there is True')
>>> 'Yes, there is True'
None.if/else, які використовуються для перевірки рівності між об’єктами.Пояснення: Атрибути визначаються під класом, а аргументи — під функціями. Аргументи зазвичай називають параметрами, тоді як атрибути — це конструктори класу або екземпляра класу.
count, fruit, price = (2, 'apple', 3.5)
.delete()pop(my_list)del(my_list).pop()приклад
my_list = [1,2,3]
my_list.pop(0)
my_list
>>>[2,3]
sys Python?class Game(LogicGame): passdef Game(LogicGame): passdef Game.LogicGame(): passclass Game.LogicGame(): passПояснення: Батьківський клас, від якого успадковується, передається як аргумент дочірньому класу. Тому тут перший варіант є правильною відповіддю.
def sum(a, b):
"""
sum(4, 3)
7
sum(-4, 5)
1
"""
return a + b
def sum(a, b):
"""
>>> sum(4, 3)
7
>>> sum(-4, 5)
1
"""
return a + b
def sum(a, b):
"""
# >>> sum(4, 3)
# 7
# >>> sum(-4, 5)
# 1
"""
return a + b
def sum(a, b):
###
>>> sum(4, 3)
7
>>> sum(-4, 5)
1
###
return a + b
Пояснення: Використовуйте """ для початку та закінчення docstring і використовуйте >>> для представлення виводу. Якщо ви напишете це правильно, ви також можете запустити doctest, використовуючи вбудований модуль doctest
setlistNonedictionaryВи можете побудувати стек тільки з нуля.college_years = ['Freshman', 'Sophomore', 'Junior', 'Senior']
return list(enumerate(college_years, 2019))
[('Freshman', 2019), ('Sophomore', 2020), ('Junior', 2021), ('Senior', 2022)][(2019, 2020, 2021, 2022), ('Freshman', 'Sophomore', 'Junior', 'Senior')][('Freshman', 'Sophomore', 'Junior', 'Senior'), (2019, 2020, 2021, 2022)][(2019, 'Freshman'), (2020, 'Sophomore'), (2021, 'Junior'), (2022, 'Senior')]self означає, що не потрібно передавати інші аргументи в метод.self; це просто історичний комп’ютерний жаргон, який Python зберігає для узгодженості з іншими мовами програмування.self посилається на екземпляр, метод якого був викликаний.self посилається на клас, від якого було успадковано для створення об’єкта за допомогою self.Простий приклад
class my_secrets:
def __init__(self, password):
self.password = password
pass
instance = my_secrets('1234')
instance.password
>>>'1234'
namedtuple і посилатися на них таким чином, подібно до того, як ви отримуєте доступ до ключів у dictionary.tuple.namedtuples такі ж ефективні за пам’яттю, як і звичайні tuples.namedtuples, оскільки вони доступні в стандартній бібліотеці.Ми повинні імпортувати це за допомогою: from collections import namedtuple
None.my_game = class.Game()my_game = class(Game)my_game = Game()my_game = Game.create()map()?Пояснення: - Синтаксис функції map() - це list(map(function,iterable)). Простий пошук площі за допомогою map виглядатиме так
import math
radius = [1,2,3]
area = list(map(lambda x: round(math.pi*(x**2), 2), radius))
area
>>> [3.14, 12.57, 28.27]
None.True.довідка. Коли оператор return є None або не має значення, або немає оператора return, функція повертає None.
pass у Python?yield генератора і повернення значення None.while або for і повернення до початку циклу.Оператор pass використовується як заповнювач для майбутнього коду. Коли виконується оператор pass, нічого не відбувається, але ви уникаєте помилки, коли порожній код не дозволений. довідка
slotdictionaryqueuesorted listfruits = ['Apples', 'Oranges', 'Bananas']
quantities = [5, 3, 4]
prices = [1.50, 2.25, 0.89]
#Desired output
[('Apples', 5, 1.50),
('Oranges', 3, 2.25),
('Bananas', 4, 0.89)]
output = []
fruit_tuple_0 = (first[0], quantities[0], price[0])
output.append(fruit_tuple)
fruit_tuple_1 = (first[1], quantities[1], price[1])
output.append(fruit_tuple)
fruit_tuple_2 = (first[2], quantities[2], price[2])
output.append(fruit_tuple)
return output
i = 0
output = []
for fruit in fruits:
temp_qty = quantities[i]
temp_price = prices[i]
output.append((fruit, temp_qty, temp_price))
i += 1
return output
groceries = zip(fruits, quantities, prices)
return groceries
>>> [
('Apples', 5, 1.50),
('Oranges', 3, 2.25),
('Bananas', 4, 0.89)
]
i = 0
output = []
for fruit in fruits:
for qty in quantities:
for price in prices:
output.append((fruit, qty, price))
i += 1
return output
all() повертає булеве значення, яке відповідає на питання “Чи всі елементи в цьому списку однакові?all() повертає True, якщо всі елементи в списку можуть бути перетворені на рядки. Інакше вона повертає False.all() поверне всі значення в списку.all() повертає True, якщо всі елементи в списку оцінюються як True. Інакше вона повертає False.Пояснення: all() повертає True, якщо всі елементи в списку є True. Дивіться приклад нижче:
test = [True, False, False, False]
if all(test) is True:
print('Yeah, all of them are true.')
else:
print('There is an imposter.')
>>> 'There is an imposter'
(Формат відповіді може відрізнятися. Game і roll (або dice_roll) повинні викликатися без параметрів.)
>>> dice = Game()
>>> dice.roll()
>>> dice = Game(self)
>>> dice.roll(self)
>>> dice = Game()
>>> dice.roll(self)
>>> dice = Game(self)
>>> dice.roll()
І сортування злиттям, і швидке сортування використовують спільну алгоритмічну парадигму, засновану на рекурсії. Ця парадигма, розділяй і владарюй, розбиває проблему на підзадачі, подібні до початкової проблеми, рекурсивно вирішує підзадачі і, нарешті, об’єднує рішення підзадач для вирішення початкової проблеми. довідка
.append() списку?Ця функція має постійну часову складність, тобто O(1), оскільки списки мають випадковий доступ, тому до останнього елемента можна дістатися за час O(1), тому час, необхідний для додавання нового елемента в кінець списку, становить O(1).
set і list?Абстракція в Python визначається як процес обробки складності шляхом приховування непотрібної інформації від користувача. довідка
def print_alpha_nums(abc_list, num_list):
for char in abc_list:
for num in num_list:
print(char, num)
return
print_alpha_nums(['a', 'b', 'c'], [1, 2, 3])
a 1
a 2
a 3
b 1
b 2
b 3
c 1
c 2
c 3
['a', 'b', 'c'], [1, 2, 3]
aaa
bbb
ccc
111
222
333
a 1 2 3
b 1 2 3
c 1 2 3
def sum(a, b):
# a = 1
# b = 2
# sum(a, b) = 3
return a + b
def sum(a, b):
"""
a = 1
b = 2
sum(a, b) = 3
"""
return a + b
def sum(a, b):
"""
>>> a = 1
>>> b = 2
>>> sum(a, b)
3
"""
return a + b
def sum(a, b):
'''
a = 1
b = 2
sum(a, b) = 3
'''
return a + b
Пояснення: Використовуйте """ для початку та закінчення docstring і використовуйте >>> для представлення виводу. Якщо ви напишете це правильно, ви також можете запустити doctest, використовуючи вбудований модуль doctest
Приклад
# namedtuple function accepts the following arguments to generate a class
from collections import namedtuple
>>> Point = namedtuple('Point',['x','y'])
>>> point = Point(100, 200)
>>> point
Point(x=100, y=200)
# Which lets you use both unpacking and iteration to access
>>> x, y = point
>>> print(f'({x}, {y})')
(100, 200)
>>> for coordinate in point:
print(coordinate)
100
200
&&===||fruit_info = {
'fruit': 'apple',
'count': 2,
'price': 3.5
}
fruit_info['price'] = 1.5my_list[3.5] = 1.51.5 = fruit_info['price]my_list['price'] == 1.55 != 6
yesFalseTrueNoneПояснення: У Python, != еквівалентний не дорівнює.
__init__() класу?Приклад:
class test:
def __init__(self):
print('I came here without your permission lol')
pass
t1 = test()
>>> 'I came here without your permission lol'
Скільки мікропроцесорів знадобиться для запуску вашого коду менше ніж за одну секундуСкільки рядків коду є у вашому файлі кодуКількість місця, зайнятого в пам'яті, як функція розміру вхідних данихСкільки копій файлу коду може поміститися в 1 ГБ пам'ятіfruit_info = {'fruit': 'apple', 'count': 2, 'price': 3.5}fruit_info =('fruit': 'apple', 'count': 2,'price': 3.5 ).dict()fruit_info = ['fruit': 'apple', 'count': 2,'price': 3.5 ].dict()fruit_info = to_dict('fruit': 'apple', 'count': 2, 'price': 3.5)fruits = {'Apples': 5, 'Oranges': 3, 'Bananas': 4}
fruit_names = [x in fruits.keys() for x]fruit_names = for x in fruits.keys() *fruit_names = [x for x in fruits.keys()]fruit_names = x for x in fruits.keys()self при визначенні або виклику методів екземпляра об’єкта?self посилається на клас, від якого було успадковано для створення об’єкта за допомогою self.self. Це просто старий комп’ютерний жаргон, який Python зберігає для узгодженості з іншими мовами програмування.self означає, що в метод не потрібно передавати інші аргументи.self посилається на екземпляр, метод якого був викликаний.Пояснення: - Спробуйте запустити приклад з Q42 без передачі аргументу self всередину __init__, і ви зрозумієте причину.
def getMaxNum(list_of_nums): # body of function goes herefunc get_max_num(list_of_nums): # body of function goes herefunc getMaxNum(list_of_nums): # body of function goes heredef get_max_num(list_of_nums): # body of function goes heremaxValue = 255max_value = 255MAX_VALUE = 255MaxValue = 255my_set = {0, 'apple', 3.5}my_set = to_set(0, 'apple', 3.5)my_set = (0, 'apple', 3.5).to_set()my_set = (0, 'apple', 3.5).set()__init__(), який не приймає параметрів?class __init__(self):
pass
def __init__():
pass
class __init__():
pass
def __init__(self):
pass
def calculate_sales_tax(subtotal): passПояснення: Стек використовує підхід останнім прийшов - першим вийшов.
with?with дозволяє вибрати, в якому додатку відкрити файл.with діє як цикл for і дозволяє отримати доступ до кожного рядка у файлі по одному.with для відкриття файлу в Python.with у Python, Python переконається, що файл закривається, навіть якщо виникає виняток або помилка.python3 -m doctest <_filename_>python3 <_filename_>python3 <_filename_> rundoctestspython3 doctestdef get_next_card():
# method body goes here
def get_next_card(self):
# method body goes here
def self.get_next_card():
# method body goes here
def self.get_next_card(self):
# method body goes here
get_max_num([57, 99, 31, 18])call.(get_max_num)def get_max_num([57, 99, 31, 18])call.get_max_num([57, 99, 31, 18])-- This is a comment# This is a comment/* This is a comment */// This is a commentapple у списку на рядок orange?my_list = ['kiwi', 'apple', 'banana']
orange = my_list[1]my_list[1] = 'orange'my_list['orange'] = 1my_list[1] == orangedefaultdict?defaultdict автоматично створить для вас словник, який має ключі, які є цілими числами 0-10.defaultdict змушує словник приймати тільки ключі типів, вказаних при створенні defaultdict.defaultdict неіснуючий ключ, для вас буде створена нова пара ключ-значення за замовчуванням замість викидання KeyError.defaultdict зберігає копію словника в пам’яті, до якої ви можете повернутися за замовчуванням, якщо оригінал буде ненавмисно змінений.variety до словника fruit_info, який має значення Red Delicious?fruit_info['variety'] == 'Red Delicious'fruit_info['variety'] = 'Red Delicious'red_delicious = fruit_info['variety']red_delicious == fruit_info['variety']while?__init__(), який встановлює атрибути, специфічні для екземпляра, під час створення нового екземпляра класу?def __init__(self, attr1, attr2):
attr1 = attr1
attr2 = attr2
def __init__(attr1, attr2):
attr1 = attr1
attr2 = attr2
def __init__(self, attr1, attr2):
self.attr1 = attr1
self.attr2 = attr2
def __init__(attr1, attr2):
self.attr1 = attr1
self.attr2 = attr2
def count_recursive(n=1):
if n > 3:
return
print(n)
count_recursive(n + 1)
1 1 2 2 3 33 2 13 3 2 2 1 11 2 3Intersect; union|; &&; |&&; ||import numpy as np
np.ones([1,2,3,4,5])
open. Яке може бути найпростіше рішення?PATH.PYTHONPATH.{x for x in range(100) if x%3 == 0}
datetimedatedaydaytimetimedatedef Game(): passdef Game: passclass Game: passclass Game(): passmy_game = Game(self) self.my_game.roll_dice()my_game = Game() self.my_game.roll_dice()my_game = Game() my_game.roll_dice()my_game = Game(self) my_game.roll_dice(self)a = np.array([1,2,3,4])
print(a[[False, True, False, False]])
{0,2}[2]{2}[0,2,0,0]z = y.split(';')
len(z)
num_list = [1,2,3,4,5]
num_list.remove(2)
print(num_list)
[1,2,4,5][1,3,4,5][3,4,5][1,2,3]Пояснення: .remove() базується на значенні елемента, а не на індексі; тут він видаляє елемент, що відповідає “2”.
[10,9,8,7,6,5,4,3,2,1]
reversed(list(range(1,11)))list(reversed(range(1,10)))list(range(10,1,-1))list(reversed(range(1,11)))import math
print(math.pow(2,10))
print(2^10)print(2**10)y = [x*2 for x in range(1,10)] print(y)y = 1 for i in range(1,10): y = y * 2 print(y)[], є _, {} є _, а () є _.table = np.array([
[1,3],
[2,4]])
print(table.max(axis=1))
[2, 4][3, 4][4][1,2]number = 3
print(f"The number is {number}")
The number is 3the number is 3THE NUMBER IS 3TypeError, оскільки ціле число повинно бути перетворене на рядок.my_tuple tup(2, 'apple', 3.5)my_tuple [2, 'apple', 3.5].tuple()my_tuple = (2, 'apple', 3.5)my_tuple = [2, 'apple', 3.5]write('w')scan('s')append('a')read('r')setlisttupledictionarysys.exc_info()os.system()os.getcwd()sys.executablemy_dictionary = {
'A': 1,
'B': 2,
'C': 3,
'D': 4,
'E': 5
}
letters = [] for letter in my_dictionary.values(): letters.append(letter)letters = my_dictionary.keys()letters = [letter for (letter, number) in my_dictionary.items()]letters4 = list(my_dictionary)Пояснення: Перший варіант повертає список значень (чисел). Решта варіантів повертають список ключів.
print. Яку функцію ви можете використовувати в NumPy, щоб змусити його надрукувати весь масив?set_printparamsset_printoptionsset_fullprintsetp_printwholetry/except, коли хочете запустити якийсь код, але потребуєте спосіб виконати інший код, якщо виникає виняток.try/except всередині модульних тестів, щоб модульні тести завжди проходили.try/except, щоб продемонструвати рецензентам коду, що ви спробували новий підхід.try/except, щоб жодна з ваших функцій або методів не повертала None.через рівень відступу після циклу forчерез ключове слово end в кінці циклу forчерез те, що блок оточений фігурними дужками ({})через порожній пробіл в кінці тіла циклу forsys.stdoutx після виконання цього коду?x = {1,2,3,4,5}
x.add(5)
x.add(6)
{1, 2, 3, 4, 5, 5, 6}{5, 6, 1, 2, 3, 4, 5, 6}{6, 1, 2, 3, 4, 5}{1, 2, 3, 4, 5, 6}Пояснення: Метод .add() додає елемент до множини тільки якщо він ще не існує.
fruit_info = {
'fruit': 'apple',
'count': 2,
'price': 3.5
}
my_keys = fruit_info.to_keys()my_keys = fruit_info.all_keys()my_keys = fruit_info.keysmy_keys = fruit_info.keys()def be_friendly(greet = "How are you!", name):
pass
name є зарезервованим словом.np, який вибір поверне True?a = np.zeros([3,4]) b = a.copy() np.array_equal(a,b)a = np.empty([3,4]) b = np.empty([3,4]) np.array_equal(a,b)a = np.zeros([3,4]) b = np.zeros([4,3]) np.array_equal(a,b)a = np.array([1, np.nan]) np.array_equal(a,a)// This is a comment# This is a comment-- This is a comment/* This is a comment *\import numpy as np
a = np.array([1,2,3])
b = np.array([4,5,6])
c = a*b
d = np.dot(a,b)
c = [ a[1] * b[1], a[2] * b[2], a[3] * b[3] ] d = sum(c)c = a[0] * b[0], a[1] * b[1], a[2] * b[2] d = [ a[0] * b[0], a[1] * b[1], a[2] * b[2] ]c = [ a[0] * b[0], a[1] * b[1], a[2] * b[2] ] d = sum(a) + sum(b)c = [ a[0] * b[0], a[1] * b[1], a[2] * b[2] ] d = sum(c)linalg.eig() and .matmul()linalg.inv() and .dot()linalg.det() and .dot()linalg.inv() and .eye()my_list = (2, 'apple', 3.5)my_list = [2, 'apple', 3.5]my_list = [2, 'apple', 3.5].to_list()my_list = to_list(2, 'apple', 3.5)num_list = [21, 13, 19, 3, 11, 5, 18]
num_list.sort()
num_list[len(num_list) // 2]
vector типу np.array з 10,000 елементів. Як ви можете перетворити vector на змінну під назвою matrix з розмірами 100x100?matrix = (vector.shape = (100,100))matrix = vector.to_matrix(100,100)matrix = matrix(vector,100,100)matrix = vector.reshape(100, 100)def myFunction(country = "France"):
print(f"Hello, I am from {country}")
myFunction("Spain")
myFunction("")
myFunction()
Hello, I am from Spain Hello, I am from Hello, I am fromHello, I am from France Hello, I am from France Hello, I am from FranceHello, I am from Spain Hello, I am from Hello, I am from FranceHello, I am from Spain Hello, I am from France Hello, I am from Francesum(titanic['Survived'])[x for x in titanic['Survived'] if x == 1]len(titanic["Survived"])sum(titanic['Survived']==0)characters = ["Iron Man", "Spider Man", "Captain America"]
actors = ["Downey", "Holland", "Evans"]
[(x,y)] for x in characters for y in actors]zip(characters, actors)d = {} for x in range(1, len(characters)): d[x] = actors[x]{x:y for x in characters for y in actors}{x : x*x for x in range(1,100)}
x як ключем і x у квадраті як його значенням; від 1 до 100.x як ключем і x у квадраті як його значенням; від 1 до 99.x, x у квадраті); від 1 до 99.def jaccard(a, b): return len (a | b) / len (a & b)def jaccard(a, b): return len (a & b) / len (a | b)def jaccard(a, b): return len (a && b) / len (a || b)def jaccard(a, b): return a.intersection(b) / a.union(b)[1,2,3] * 3
[3,2,3][1, 2, 3, 1, 2, 3, 1, 2, 3][3,6,9][1,2,3,4], яке значення numbers[-2]?__init__(), який не приймає параметрів?def __init__(self): passclass __init__(self): passclass __init__(): passdef __init__(): passsin з бібліотеки math. Який правильний синтаксис для імпорту тільки цієї функції?using math.sinimport math.sinfrom math import sinimport sin from math0кількість всіх значень Trueпомилку типуNoneprint("foo" if (256).bit_length() > 8 else "bar")
TruefoobarTrue.RuntimeError, якщо ви не повернете значення.None.gcc або clang.pip або conda.random.uniform(0,50);plt.histrandom.gauss(50,20);plt.histrandom();plt.scatterrandom.triangular(0,50);plt.bara і b?import numpy as np
a = np.arange(100)
b = a[50:60:2]
a: всі цілі числа від 0 до 99 (включно); b: всі парні числа від 50 до 58 (включно).a: всі цілі числа від 0 до 100 (включно); b: всі парні числа від 50 до 60 (включно).a: всі цілі числа від 0 до 99 (включно); b: всі парні числа від 50 до 60 (включно).a: всі цілі числа від 0 до 99 (включно); b: всі непарні числа від 49 до 59 (включно).my_object?my_object.get_shape()my_object.shapemy_object.dim()len(my_object)mylist, і ви хочете знайти конкретне значення. Мінімальна кількість порівнянь буде _, а максимальна кількість порівнянь буде _?len(mylist); len(mylist)1; len(mylist)2; len(mylist)0; len(mylist)0TrueNoneFalseimport numpy as np
def can_matrices_be_multiplied (matrix1, matrix2):
rowsMat1, columnsMat1 = matrix1.shape
rowsMat2, columnsMat2 = matrix2.shape
if _____ == ______ :
print("The matrices can be multiplied!")
return True
else:
return False
[(x, x+1) for x in range(1,5)]
class Father(): name = 'Robert' class Person(Father): def __init__(self, name): self.fathername = super.nameclass Father(): name = 'Robert' class Person(Father): def __init__(self, name): self.fathername = self.nameclass Father(): name = 'Robert' class Person(Father): def __init__(self, name): self.name = name def introduce(self): print(f"My name is {self.name} son of {super.name}")class Father(): name = 'Robert' class Person(Father): def __init__(self, name): self.name = name def introduce(self): print(f"My name is {self.name} son of {base.name}")animals = {
'a': ['ant', 'antelope', 'armadillo'],
'b': ['beetle', 'bear', 'bat'],
'c': ['cat', 'cougar', 'camel']
}
animals = defaultdict(list, animals)
print(animals['b'])
print(animals['d'])
['beetle', 'bear', 'bat'] []['beetle', 'bear', 'bat'] # an exception will be thrown['beetle', 'bear', 'bat'] None['bat', 'bear', 'beetle'] []n вже визначено як будь-яке додатне ціле число.)[x*2 for x in range(1,n)]
x = 18
if x > 10:
if x > 15:
print('A')
else:
print('B')
else:
print('C')
i, коли наступний цикл завершить своє виконання?for i in range(5): pass
f-strings також називаються:y у цьому коді?x = 5
y = 1 + (20 if x < 5 else 30)
False21231print("codescracker".endswith("er"))
True12Falseprint("programming".center())
crprogrammingTypeError: center expected at least 1 argument, got 0.x = 1j
print(x**2 == -1)
j не була ініціалізована.True1jFalseprint(0xA + 0xB + 0xC)
33630xA + 0xB + 0xCNonefor i in range(5):
print(i)
else:
print("Done!")
1 2 3 4 5 Done!0 1 2 3 4 5 Done!0 1 2 3 4 Done!execution_fn. Які відсутні аргументи?import functools
import time
def timer(MISSING_ARG_1):
@functools.wraps(func)
def wrapper(*args, **kwargs):
start_time = time.perf_counter()
rval = func(*args, **kwargs)
end_time = time.perf_counter()
duration = end_time - start_time
print(f"Executed in {duration:.4f} seconds")
return MISSING_ARG_2
return MISSING_ARG_3
MISSING_ARG_1 = wrapper, MISSING_ARG_2 = rval, MISSING_ARG_3 = funcMISSING_ARG_1 = func, MISSING_ARG_2 = rval, MISSING_ARG_3 = wrapperMISSING_ARG_1 is empty, MISSING_ARG_2 = rval, MISSING_ARG_3 = wrapperMISSING_ARG_1 is empty, MISSING_ARG_2 = rval, MISSING_ARG_3 = funcDog у Python?class Dog:Dog class:Dog:class Dogscikit-learn, імпортуйте з підмодуля scikit-learn._.preprocessingpipelinefilterspipe_filtera = np.array([[1, 2], [3, 4], [5, 6]])
c = a[(a > 3) & (a < 11)]
print(c)
[[3, 4], [5, 6]][False, False, False, True, True, True][[0,0], [3, 4], [5, 6]][4 5 6]m, n і p є додатними цілими числами. У наступному comprehension, скільки разів буде викликана функція randint?[ [ [ randint(1,100) for i in range(m) ] for j in range(n) ] for k in range(p) ]
m * n * p(m,n,p).m + n + pMyClass, який має множинне успадкування та методи з однаковими іменами в його предках. Який метод класу ви могли б викликати, щоб побачити, який метод отримає пріоритет при виклику?MyClass.__mro__MyClass.hierarchy()callable(MyClass)dir(MyClass)employees = {
'alice':{
'position':'Lead Developer',
'salary':1000
},
'bob':{
'position': 'Lead Artist',
'salary':2000
},
'charlie':{
'position':'cfo',
'salary':3000
}
}
employees['alice']['salary'] = employees['charlie']['salary']employees.alice.salary = employees.charlie.salaryemployees['alice'][1] = employees['charlie'][1]employees['alice'].salary = employees['charlie'].salarym і n вже визначені як деякі додатні цілі значення. Коли він завершиться, скільки кортежів міститиме mylist?mylist = []
for i in range(m):
for j in range(n):
mylist.append((i,j))
mm + nnm * n{x : [y for y in range (1, x) if x % y == 0] for x in range (2, 100)}
characters = ["Iron Man", "Spider Man", "Captain America"]
actors = ["Downey", "Holland", "Evans"]
#Desired output : [("Iron Man", "Downey"), ("Spider Man", "Holland"), ("Captain America", "Evans")]
if __name__ == "__main__": у Python-скрипті?def square(x):
return x * x
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers)
result = list(squared_numbers)
print(result)
[1, 4, 9, 16, 25][1, 2, 3, 4, 5][1, 8, 27, 64, 125][2, 4, 6, 8, 10]print("Hello {name1} and {name2}".format(name1='foo', name2='bin'))
def outer_func(x):
y = x + 1
def inner_func():
return y + x
return inner_func
x = 10
y = 20
closure_func = outer_func(x)
print(closure_func())
x = 5
def func():
x = 10
print(x)
func()
print(x)
def func(a, b=2, c=3):
print(a, b, c)
func(10)
func(10, 20)
func(10, 20, 30)
x = [1, 2, 3]
y = x
y.append(4)
print(x)
def add_item(item, item_list=[]):
item_list.append(item)
return item_list
print(add_item(1))
print(add_item(2))
print(add_item(3, []))
len() для користувацького класу?__length__()__len__()__size__()__count__()def decorator(func):
def wrapper(*args, **kwargs):
print("Before function call")
result = func(*args, **kwargs)
print("After function call")
return result
return wrapper
@decorator
def greet(name):
print(f"Hello, {name}!")
greet("Alice")
Before function call, Hello, Alice!, After function callHello, Alice!Before function call, After function calldecoratoryieldclass Parent:
def method(self):
print("Parent method")
class Child(Parent):
def method(self):
super().method()
print("Child method")
obj = Child()
obj.method()
Parent method, Child methodChild method, Parent methodChild methodParent method__str__()__repr__()__format__()__debug__()from functools import lru_cache
@lru_cache(maxsize=None)
def fibonacci(n):
if n < 2:
return n
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10))
print(fibonacci.cache_info())
55 і статистику кешу55 і NoneRecursionErrorTypeErrorwith Python є правильним?__exit__class Counter:
def __init__(self):
self.count = 0
def __call__(self):
self.count += 1
return self.count
counter = Counter()
print(counter())
print(counter())
print(counter.count)
1, 2, 20, 1, 21, 1, 1TypeErrorin для користувацького класу?__in__()__contains__()__has__()__includes__()from dataclasses import dataclass
@dataclass
class Point:
x: int
y: int
def distance_from_origin(self):
return (self.x ** 2 + self.y ** 2) ** 0.5
p = Point(3, 4)
print(p)
print(p.distance_from_origin())
Point(x=3, y=4) і 5.0<Point object> і 5.0Point(3, 4) і 5SyntaxErrorclass Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
a = Singleton()
b = Singleton()
print(a is b)
print(id(a) == id(b))
True і TrueFalse і FalseTrue і FalseFalse і True__iterate__()__iter__() і __next__()__loop__()__foreach__()from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
print(Color.RED)
print(Color.RED.name)
print(Color.RED.value)
Color.RED, RED, 11, RED, Color.REDRED, 1, Color.RED<Color.RED: 1>, RED, 1*args і **kwargs Python є правильним?*args захоплює іменовані аргументи, **kwargs захоплює позиційні аргументи*args захоплює позиційні аргументи, **kwargs захоплює іменовані аргументиclass MyClass:
class_var = 0
def __init__(self):
MyClass.class_var += 1
self.instance_var = MyClass.class_var
a = MyClass()
b = MyClass()
print(a.instance_var, b.instance_var)
print(MyClass.class_var)
1 2 і 20 1 і 21 1 і 12 2 і 2+ для користувацького класу?__plus__()__add__()__sum__()__combine__()from collections import namedtuple
Person = namedtuple('Person', ['name', 'age', 'city'])
p = Person('Alice', 30, 'New York')
print(p.name)
print(p[1])
print(p._fields)
Alice, 30, ('name', 'age', 'city')Alice, Alice, ['name', 'age', 'city']Person, 30, ('name', 'age', 'city')AttributeErrorlambda функції Python є правильним?