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
Пояснення: Використовуйте ''' для початку документації та додайте результат після >>>.
setlistNonedictionarycollege_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, нічого не відбувається, але ви уникаєте помилки, коли порожній код не дозволений. Довідка
слот (slot)словник (dictionary)черга (queue)відсортований список (sorted list)fruits = ['Яблука', 'Апельсини', 'Банани']
quantities = [5, 3, 4]
prices = [1.50, 2.25, 0.89]
#Бажаний вивід
[('Яблука', 5, 1.50),
('Апельсини', 3, 2.25),
('Банани', 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
>>> [
('Яблука', 5, 1.50),
('Апельсини', 3, 2.25),
('Банани', 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?set — це впорядкована колекція унікальних елементів. list — це невпорядкована колекція неунікальних елементів.list, але їх не можна отримати з set.set — це впорядкована колекція неунікальних елементів. list — це невпорядкована колекція унікальних елементів.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
Пояснення: Використовуйте """ для початку та завершення рядка документації та використовуйте >>> для представлення результату. Якщо ви правильно це напишете, ви також можете запустити doctest за допомогою вбудованого модуля doctest.
# функція namedtuple приймає наступні аргументи для створення класу
from collections import namedtuple
>>> Point = namedtuple('Point',['x','y'])
>>> point = Point(100, 200)
>>> point
Point(x=100, y=200)
# Що дозволяє використовувати як розпакування, так і ітерацію для доступу
>>> 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('Я прийшов сюди без вашого дозволу, ха -ха')
pass
t1 = test()
>>> 'Я прийшов сюди без вашого дозволу, ха -ха'
Скільки мікропроцесорів знадобиться для виконання вашого коду менш ніж за одну секундуСкільки рядків коду у вашому файліКількість пам'яті, яку займає програма, як функція від розміру вхідних данихСкільки копій файлу коду може поміститися в 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__, і ви зрозумієте причину. Ви отримаєте помилку на кшталт __init__() takes 0 positional arguments but 1 was given, що означає, що щось передається всередину, навіть якщо це не було явно вказано, а саме екземпляр.
Довідка Методи класу — це методи, які викликаються на самому класі, а не на конкретному екземплярі об’єкта. Тому вони належать до рівня класу, і всі екземпляри класу поділяють метод класу.
def getMaxNum(list_of_nums): # тіло функції тутfunc get_max_num(list_of_nums): # тіло функції тутfunc getMaxNum(list_of_nums): # тіло функції тутdef get_max_num(list_of_nums): # тіло функції тутВикористання підкреслень як роздільників слів бере свій початок з кінця 1960-х років. Це особливо асоціюється з мовою C, зустрічається в книзі “The C Programming Language” (1978) і контрастує з Pascal case (тип camel case). Однак традиційно цей стиль не мав конкретної назви: стильовий гід мови Python називає його просто “lower_case_with_underscores”.[2] У Usenet термін snake_case вперше з’явився в спільноті Ruby у 2004 році,[3] використаний Гевіном Кістнером, який писав: BTW… як ви називаєте цей стиль іменування? snake_case? Так я його називатиму, поки хтось мене не виправить.
maxValue = 255max_value = 255MAX_VALUE = 255MaxValue = 255Використовуйте одну велику літеру, слово або слова. Розділяйте слова підкресленнями для покращення читабельності. Довідка
Deque або двостороння черга — це узагальнена версія структури даних черги, яка дозволяє вставляти та видаляти елементи з обох кінців. Довідка
my_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
У комп’ютерних науках дерево бінарного пошуку (BST), також відоме як впорядковане або відсортоване бінарне дерево, є структурою даних бінарного дерева з коренем, де ключ кожного внутрішнього вузла більший за всі ключі у відповідному лівому піддереві вузла і менший за ключі в правому піддереві. Довідка
Декоратори дозволяють обгорнути іншу функцію, щоб розширити її поведінку, не змінюючи її назавжди. Довідка
def tax(my_float):
''' Обчислює податок з продажу на покупку. Приймає float, що представляє підсумок, як аргумент і повертає float, що представляє податок з продажу.'''
pass
def tx(amt):
''' Отримує податок на суму.'''
def sales_tax(amount):
''' Обчислює податок з продажу на покупку. Приймає float, що представляє підсумок, як аргумент і повертає float, що представляє податок з продажу.'''
def calculate_sales_tax(subtotal):
pass
mixin?mixin, щоб визначити цю функціональність.Є дві основні ситуації, коли використовуються mixins: Потрібно надати багато необов’язкових функцій для класу. Потрібно використовувати одну конкретну функцію в багатьох різних класах. Довідка пояснення
Пояснення: Стек використовує підхід останній прийшов — перший пішов.
with?with дозволяє вибрати, в якому застосунку відкрити файл.with діє як цикл for і дозволяє отримати доступ до кожного рядка у файлі по черзі.with для відкриття файлу в Python.with, Python гарантує, що файл буде закрито, навіть якщо виникне виняток або помилка.Це гарна практика використовувати ключове слово ‘with’ при роботі з файловими об’єктами. Перевага полягає в тому, що файл правильно закривається після завершення його блоку, навіть якщо на якомусь етапі виникає виняток. Використання with також набагато коротше, ніж написання еквівалентних блоків try-finally:
>>> f = open('workfile', 'w', encoding="utf-8")
>>> with open('workfile', encoding="utf-8") as f:
read_data = f.read()
# Ми можемо перевірити, чи файл був автоматично закритий.
>>> f.closed
True
python3 -m doctest <_filename_>python3 <_filename_>python3 <_filename_> rundoctestspython3 doctestІснує також ярлик командного рядка для запуску testmod(). Ви можете вказати інтерпретатору Python запустити модуль doctest безпосередньо з бібліотеки стандартів і передати ім’я модуля(ів) у командному рядку:
python -m doctest -v example.py
Це імпортує example.py як окремий модуль і запустить testmod() на ньому. Зверніть увагу, що це може не працювати правильно, якщо файл є частиною пакета та імпортує інші підмодулі з цього пакета.
Довідка
навчальне відео
Пояснення:
Лямбда-нотація — це анонімна функція, яка може приймати будь-яку кількість аргументів, але має лише один вираз (тобто не може бути перевантажена). Вона була введена в інших мовах програмування, таких як C++ та Java. Лямбда-нотація дозволяє програмістам “обійти” оголошення функції.
def get_next_card():
# тіло методу тут
def get_next_card(self):
# тіло методу тут
def self.get_next_card():
# тіло методу тут
def self.get_next_card(self):
# тіло методу тут
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])-- Це коментар# Це коментар/* Це коментар */// Це коментарapple у списку на рядок orange?my_list = ['kiwi', 'apple', 'banana']
orange = my_list[1]my_list[1] = 'orange'my_list['orange'] = 1my_list[1] == orangenum_people = 5
if num_people > 10:
print("У басейні багато людей.")
elif num_people > 4:
print("У басейні є деякі люди.")
else:
print("У басейні нікого немає.")
num_people = 5
if num_people > 10:
print("У басейні багато людей.")
if num_people > 4:
print("У басейні є деякі люди.")
else:
print("У басейні нікого немає.")
num_people = 5
if num_people > 10;
print("У басейні багато людей.")
elif num_people > 4;
print("У басейні є деякі люди.")
else;
print("У басейні нікого немає.")
if num_people > 10;
print("У басейні багато людей.")
if num_people > 4;
print("У басейні є деякі люди.")
else;
print("У басейні нікого немає.")
defaultdict?defaultdict автоматично створить для вас словник, у якому ключами будуть цілі числа від 0 до 10.defaultdict змушує словник приймати лише ключі тих типів, які були вказані під час створення defaultdict (наприклад, рядки або цілі числа).defaultdict неіснуючий ключ, буде створено нову пару ключ-значення за замовчуванням замість того, щоб викликати KeyError.defaultdict зберігає копію словника в пам’яті, до якої можна повернутися, якщо оригінал буде ненавмисно змінено.defaultdict — це контейнер, подібний до словника, який присутній у модулі collections. Функціональність словників і defaultdict майже однакова, за винятком того, що defaultdict ніколи не викликає KeyError. Він надає значення за замовчуванням для ключа, який не існує.
# Function to return a default
# values for keys that are not
# present
def def_value():
return "Not Present"
# Defining the dict
d = defaultdict(def_value)
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?i = 1
while i<6:
print('Countdown:',i)
i = i + 1
__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
Пояснення:: Під час створення нового об’єкта з даного класу метод __init__() приймає як attr1, так і attr2, і встановлює їх значення для відповідного атрибута об’єкта, тому потрібно використовувати self.attr1 = attr1 замість attr1 = attr1.
def count_recursive(n=1):
if n > 3:
return
print(n)
count_recursive(n + 1)
1
1
2
2
3
3
3
2
1
3
3
2
2
1
1
1
2
3
Intersect; 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}
Довідка Це Set Comprehension, оскільки в ‘{}’, фігурних дужках, тому поверне Set!
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)
Пояснення::
y="stuff;thing;junk"
len(z) ==> 3
y="stuff;thing;junk;"
len(z) ==> 4
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”. Якщо потрібно видалити елемент за індексом, слід використовувати .pop().
num_list = [1,2,3,4,5]
num_list.pop(2)
>>> [1,2,4,5]
num_list.remove(2)
>>> [1,3,4,5]
[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)) # виводить 2, піднесене до 10-го ступеня
print(2^10)
print(2**10)
y = [x*2 для x у діапазоні(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"Це число {number}")
Це число 3Це число 3ЦЕ ЧИСЛО 3TypeError, оскільки ціле число потрібно привести до рядка.my_tuple tup(2, 'apple', 3.5) %Dmy_tuple [2, 'apple', 3.5].tuple() %Dmy_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
}
<br>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 використовуються, щоб продемонструвати рецензентам коду, що ви спробували новий підхід, але якщо новий підхід не відповідає їхнім очікуванням, вони можуть закоментувати все що під ключовим словом except.try/except використовуються, щоб жодна з функцій або методів не повертала None.sys.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)
// Це коментар# Це коментар-- Це коментар/* Це коментар *\c і d?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() і .matmul()linalg.inv() і .dot()linalg.det() і .dot()linalg.inv() і .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("Привіт, я із", country)
myFunction("Іспанії")
myFunction("")
myFunction()
Привіт, я із Іспанії
Привіт, я із
Привіт, я із
Привіт, я із Франції
Привіт, я із Франції
Привіт, я із Франції
Привіт, я із Іспанії
Привіт, я із
Привіт, я із Франції
Привіт, я із Іспанії
Привіт, я із Франції
Привіт, я із Франції

sum(titanic['Survived'])[x for x in titanic['Survived'] if x == 1]len(titanic["Survived"])sum(titanic['Survived']==0)Пояснення: titanic['Survived'] повертає об’єкт pandas.Series, який містить стовпець Survived з DataFrame. Додавання значень цього стовпця (тобто sum(titanic['Survived'])) повертає загальну кількість тих, хто вижив, оскільки виживання позначається 1, а втрата — 0.
characters = ["Iron Man", "Spider Man", "Captain America"]
actors = ["Downey", "Holland", "Evans"]
# example output : [("IronMan", "Downey"), ("Spider Man", "Holland"), ("Captain America", "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*(): pass() - порожній параметр.
self - посилається на всі екземпляри в класі.
_init_ - зарезервований метод, також відомий як конструктор.
_init_() - завжди виконується під час ініціалізації класу.
sin з бібліотеки math. Який правильний синтаксис для імпорту лише цієї функції?using math.sinimport math.sinfrom math import sinimport sin from mathПояснення: Оператор from..import дозволяє імпортувати конкретні функції/змінні з модуля замість імпорту всього.
0print ("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)Пояснення: Можна використовувати оператор break, і значення, яке шукається, може бути першим елементом списку, враховуючи, що він непорожній.
0TrueNoneFalseimport numpy as np
def can_matrices_be_multiplied (matrix1, matrix2):
rowsMat1, columnsMat1 = matrix1.shape
rowsMat2, columnsMat2 = matrix2.shape
if _____ == ______ :
print('Матриці можна помножити!')
return True
else:
return False
довідка. Матрицю можна множити на будь-яку іншу матрицю, яка має таку саму кількість рядків, як і перші стовпці. Тобто матрицю з 2 стовпцями можна множити на будь-яку матрицю з 2 рядками.
[(x, x+1) for x in range(1,5)]
class Father():
name = 'Robert'
class Person(Father):
def __init__(self, name):
self.fathername = super.name
self.name = name
def introduce(self):
print("My name is", self.name, "son of", self.fathername)
king = Person("Joffrey")
king.introduce()
class Father():
name = 'Robert'
class Person(Father):
def __init__(self, name):
self.fathername = self.name
self.name = name
def introduce(self):
print("My name is", self.name, "son of", self.fathername)
king = Person("Joffrey")
king.introduce()
class Father():
name = 'Robert'
class Person(Father):
def __init__(self, name):
self.name = name
def introduce(self):
print("My name is", self.name, "son of", super.name)
king = Person("Joffrey")
king.introduce()
class Father():
name = 'Robert'
class Person(Father):
def __init__(self, name):
self.name = name
def introduce(self):
print("My name is", self.name, "son of", base.name)
king = Person("Joffrey")
king.introduce()
Пояснення: У першому варіанті super не має .name (має бути self.name). У третьому варіанті пропущено Robert, а в четвертому base не визначено.
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']
# буде викинуто виняток
['beetle', 'bear', 'bat']
None
['bat', 'bear', 'beetle']
[]
Пояснення: Зазвичай словники викликають виняток при використанні синтаксису квадратних дужок. Defaultdict тут повертає значення за замовчуванням, визначене першим параметром, тому замість викидання винятку вони повертають типове значення. Зверніть увагу, що це потрібно імпортувати так: from collections import defaultdict
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')
довідка Фіксована довжина не вказана, але Pep-8 вказує під “Максимальна довжина рядка” “Обмежити всі рядки до максимуму 79 символів”.
i, коли цей цикл завершить своє виконання?for i in range(5): pass
f-рядки також називаютьсяПояснення:: Потоки Python обмежені одним процесором одночасно. Бібліотека multiprocessing дозволить запускати код на різних процесорах.
y у цьому коді?x = 5
y = 1 + (20 if x < 5 else 30)
False21231Пояснення: Якщо є лише одна інструкція для виконання, одна для if і одна для else, її можна розмістити на одному рядку.
x = 5
# Це те саме твердження, що розширюється до декількох рядків
y = 1
if (x < 5):
y += 20
else:
y += 30
“Pickling” — це процес, під час якого ієрархія об’єктів Python перетворюється на байтовий потік, а “unpickling” — це зворотна операція, під час якої байтовий потік (з бінарного файлу або об’єкта, схожого на байти) перетворюється назад в ієрархію об’єктів.
print("codescracker".endswith("er"))
True12Falseprint("programming".center())
crprogrammingTypeError: center expected at least 1 argument, got 0.довідка. Метод center() вирівнює рядок по центру, використовуючи вказаний символ (пробіл за замовчуванням) як заповнювач.
Синтаксис: string.center(length, character), де length є обов’язковим!
x = 1j
print(x**2 == -1)
j не ініціалізована.True1jFalseПояснення: Літера j в Python позначає уявну одиницю, тому x**2 означає j**2, що дорівнює -1. Вираз x**2 == -1 оцінюється як True.
print(0xA + 0xB + 0xC)
33630xA + 0xB + 0xCПояснення: A, B і C — це шістнадцяткові числа зі значеннями 10, 11 і 12 відповідно, тому сума A, B і C дорівнює 33.
for i in range(5):
print(i)
else:
print("Готово!")
1 2 3 4 5 Готово!0 1 2 3 4 5 Готово!0 1 2 3 4 Готово!execution_fnimport 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
@timer
def execution_fn():
for i in range(3):
time.sleep(1)
execution_fn()
Які з наступних варіантів є відсутніми аргументами?
MISSING_ARG_1 = wrapper
MISSING_ARG_2 = rval
MISSING_ARG_3 = func
MISSING_ARG_1 = func
MISSING_ARG_2 = rval
MISSING_ARG_3 = wrapper
MISSING_ARG_1 is empty
MISSING_ARG_2 = rval
MISSING_ARG_3 = wrapper
MISSING_ARG_1 is empty
MISSING_ARG_2 = rval
MISSING_ARG_3 = func
Dog у Python?class Dog:Dog class:Dog:class Dogscikit-learn, імпортуйте з підмодуля scikit-learn._preprocessingpipelinefilterspipe_filterдовідка Правильний синтаксис: from sklearn.pipeline import Pipeline
apply, щоб застосувати функцію до кожного рядка?a = 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 — це додатні цілі числа. Скільки разів буде викликана функція 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)Пояснення: MRO означає порядок вирішення методів. Він повертає список типів, від яких походить клас, у порядку, в якому вони шукаються для методів.
employees = {
'alice':{
'position':'Lead Developer',
'salary':1000
},
'bob':{
'position': 'Lead Artist',
'salary':2000
},
'charlie':{
'position':'cfo',
'salary':3000
}
}
employess['alice']['salary'] = employees['charlie']['salary']employees.alice.salary = employees.charlie.salaryemployees['alice'][1] = employees['charlie'][1]employees['alice'].salary = employees['charlie'].salaryПояснення: Це доступ до ключа в словнику, вкладеному в інший словник. Команда employees['alice']['salary'] = employees['charlie']['salary'] призначає значення ключа salary в словнику співробітника charlie значенню ключа salary в словнику співробітника alice.
m і n вже визначені як деякі додатні цілі значення. Скільки кортежів міститиме мій список після завершення?mylist = []
for i in range(m):
for j in range(n):
mylist.append((i,j))
mm + nnm * nПояснення: Цей код виконуватиметься m x n разів. Якщо запустити цей код, він створить m x n кортежів.
Перший цикл виконується m разів, а внутрішній цикл - n разів. Одна ітерація першого циклу завершиться лише тоді, коли всі n ітерацій внутрішнього циклу будуть завершені. Це той самий процес для 2-го, 3-го, … m-го ітерацій зовнішнього циклу. Загалом обидва цикли виконуватимуться m x n разів.
{x : [y for y in range (1, x) if x % y == 0] for x in range (2, 100)}
sys?characters = ["Iron Man", "Spider Man", "Captain America"]
actors = ["Downey", "Holland", "Evans"]
# Приклад: [("Iron Man", "Downey), ("Spider Man", "Holland"), ("Captain America", "Evans")]
d = {}
for x in range(1, len(characters)):
d[x] = actors [x]
for i in range(5):
print (i)
else:
print("Done!")
1
2
3
4
Done!
0
1
3
4
5
Done!
1
3
4
5
Done!
if __name__ == "__main__": у Python-скрипті?Блок if __name__ == "__main__": виконується, коли скрипт запускається безпосередньо, але не коли він імпортується як модуль в інший скрипт.
довідка
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]Код визначає функцію square для обчислення квадрата числа. Потім використовується функція map, щоб застосувати цю функцію до кожного елемента списку numbers, що призводить до створення нового ітератора. Нарешті, конструктор list використовується для перетворення цього ітератора в список. Результатом буде список квадратів чисел.
довідка
print("Hello {name1} and {name2}".format(name1='foo', name2='bin'))