Как стать автором
Обновить

Python. 10 вопросов на знание языка

Время на прочтение1 мин
Количество просмотров9.1K
Несколько вопросов, которые помогут составить общее впечатление о знании языка, к примеру, на собеседовании

Чем отличается import feathers от from feathers import ostrich?

import загружает модуль в собственную область имен:

import feathers
duster = feathers.ostrich("South Africa")

from загружает импортируемый элемент в текущую область имен

from feathers import ostrich
duster = ostrich("South Africa")

Разница между a = [1, 2] и b = (1, 2)

b — немодифицируемый кортеж

Получить последний элемент массива

b[-1] if b else None

Получить часть строки

«I am string»[0:10]
«file.ext»[-3:]

Чем отличается запись

def a(*args)
print args

от

def a(**args)
print args

Вторая функция принимает на вход именованные аргументы:

def a(*args)
print args
>> a(1,2)
(1, 2)
def a(**args)
print args
>> a(one = 1, two = 2)
{'one': 1, 'two': 2}

Разница между __new__ и __init__

В __init__ объект уже создан, __new__ создает его сам, используя родительский конструктор

Поменять значения двух переменных

a,b = b,a

Что такое «Ромбическое наследование» и как это решается в питоне?

«Ромбическое наследование» это когда класс наследуется от нескольких классов-посредников, которые в свою очередь наследуются от одного класса. Если метод общего предка был переопределён в посредниках, неизвестно, какую реализацию метода должен наследовать общий потомок. В питоне для решения этой проблемы используется алгоритм C3 линеаризации

Что такое метакласс?

Метакласс — это класс, экземпляры которого суть классы.

Как объявить статический метод?

@staticmethod
def a():
pass
Теги:
Хабы:
Всего голосов 33: ↑27 и ↓6+21
Комментарии24

Публикации

Истории

Ближайшие события

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн