5 Commits
1.1.0 ... 1.1.2

Author SHA1 Message Date
yakimka
db9d0142b8 Add more links for design patterns (#15) 2024-02-21 03:51:23 +02:00
Anton Romanov
0b40521541 Update questions.md (#13)
update Что такое async/await, для чего они нужны и как их использовать
2024-02-21 03:48:25 +02:00
Roman
345d531fde Update questions.md (#14)
* Update questions.md

added some possible slices for iterable objects

* Update questions.md

minor changes
2024-02-21 03:47:14 +02:00
yakimka
adcaa9e332 Update questions.md (#10) 2023-02-21 15:23:54 -08:00
Tony
7c45b4264c Update questions.md (#8)
лишняя "и"
2023-02-20 04:56:43 -08:00

View File

@@ -12,14 +12,18 @@
### Какие операции поддерживают большинство последовательностей
- `x in s`, `x not in s` находится ли элемент x в последовательности s (для строк и последовательностей байтов является ли x подстрокой s)
- `s + t` конкатенация последовательностей
- `s + t` конкатенация последовательностей s и t
- `s * n, n * s` конкатенация n нерекурсивных копий последовательности s
- `s[i]` i-й элемент последовательности s
- `s[i:j]` срез последовательности s от i до j
- `s[i:j:k]` срез последовательности s от i до j с шагом k
- `len(s)` длина последовательности
- `min(s)` минимальный элемент последовательности
- `max(s)` максимальный элемент последовательности
- `s[:i]` - срез всех элементов последовательности s до i (не включая i)
- `s[i:]` - срез всех элементов последовательности s от i до последнего элемента
- `s[-i:]` - срез последних i элементов последовательности s
- `s[::-1]` - перевернуть последовательность
- `s[i:j]` срез последовательности s от i до j (не включая j)
- `s[i:j:k]` срез последовательности s от i до j с шагом k (не включая j)
- `len(s)` длина последовательности s
- `min(s)` минимальный элемент последовательности s
- `max(s)` максимальный элемент последовательности s
- `s.index(x[, i[, j]])` индекс первого вхождения x (опционально начиная с позиции i и до позиции j)
- `s.count(x)` общее количество вхождений x в s
- `sum(s)` сумма элементов последовательности
@@ -380,7 +384,7 @@ foo()
Интерпретатор создаёт объект «john» и «имя» var, а затем связывает объект с данным именем.
При вызове функции, новых объектов не создаётся, вместо этого в её области видимости создаётся имя, которое связывается с существующим объектом.
Но в python есть изменяемые и неизменяемые типы. К первым, например, относятся числа: при арифметических операциях существующие объекты не меняются, а создаётся новый объект, с которым потом связывается существующее имя. Если же со старым объектом после этого не связано ни одного имени, оно будет удалено с помощью механизма подсчёта ссылок.
Но в python есть изменяемые и неизменяемые типы. Ко вторым, например, относятся числа: при арифметических операциях существующие объекты не меняются, а создаётся новый объект, с которым потом связывается существующее имя. Если же со старым объектом после этого не связано ни одного имени, оно будет удалено с помощью механизма подсчёта ссылок.
Если же имя связано с переменной изменяемого типа, то при операциях с ней изменяется память объекта, соответственно все имена, связанные с данной областью памяти «увидят» изменения.
### Что такое замыкание
@@ -1433,16 +1437,17 @@ import aiohttp
urls = ['http://www.google.com', 'http://www.yandex.ru', 'http://www.python.org']
async def call_url(url):
print('Starting {}'.format(url))
response = await aiohttp.get(url)
data = await response.text()
print('{}: {} bytes: {}'.format(url, len(data), data))
return data
async with aiohttp.ClientSession() as session:
print('Starting {}'.format(url))
async with session.get(url) as response:
data = await response.text()
print('{}: {} bytes: {}'.format(url, len(data), data))
return data
futures = [call_url(url) for url in urls]
loop = asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(futures))
loop.run_until_complete(asyncio.gather(*futures))
```
Программа состоит из метода async. Во время выполнения он возвращает сопрограмму, которая затем находится в ожидании.
@@ -2194,6 +2199,8 @@ HTTPS — расширение протокола HTTP, поддерживающ
- [GitHub - pkolt/design_patterns: Паттерны проектирования](https://github.com/pkolt/design_patterns)
- [GitHub - faif/python-patterns: A collection of design patterns/idioms in Python](https://github.com/faif/python-patterns)
- [Python Design Patterns](https://python-patterns.guide/)
- [Design Patterns in Python: A Series](https://medium.com/@amirm.lavasani/design-patterns-in-python-a-series-f502b7804ae5)
- [A Catalog For Design Patterns in Python](https://towardsdev.com/a-catalog-for-design-patterns-in-python-a1b69493c677)
### Порождающие (Creational)
@@ -5288,7 +5295,7 @@ Pre-commit check можно использовать например так:
Запрос к реляционной базе данных обычно возвращает несколько рядов (записей) данных, но приложение за один раз обрабатывает лишь одну запись. Даже если оно имеет дело одновременно с несколькими рядами (например, выводит данные в форме электронных таблиц), их количество по-прежнему ограничено. Кроме того, при модификации, удалении или добавлении данных рабочей единицей является ряд. В этой ситуации на первый план выступает концепция курсора, и в таком контексте курсор указатель на ряд.
Курсор в SQL это область в памяти базы данных, которая предназначена для хранения последнего оператора SQL. Если текущий оператор запрос к базе данных, в памяти сохраняется и строка данных запроса, называемая текущим значением, или текущей строкой курсора. Указанная область в памяти поименована и доступна для прикладных программ.
Курсор в SQL это область в памяти базы данных, которая предназначена для хранения последнего оператора SQL. Если текущий оператор запрос к базе данных, в памяти сохраняется строка данных запроса, называемая текущим значением, или текущей строкой курсора. Указанная область в памяти поименована и доступна для прикладных программ.
Обычно курсоры используются для выбора из базы данных некоторого подмножества хранимой в ней информации. В каждый момент времени прикладной программой может быть проверена одна строка курсора. Курсоры часто применяются в операторах SQL, встроенных в написанные на языках процедурного типа прикладные программы. Некоторые из них неявно создаются сервером базы данных, в то время как другие определяются программистами.