Полезные функции и методы
Приветствую! Здесь вы наверняка найдете, что ищете. Примеры в лаборатории рассчитаны на то, что мы разбираем что-то конкретное.
Текущая статья посвящена справочник встроенных операций: строки, коллекции, даты, I/O и валидация в Python, JS, C#, Java, Go..
Поэтому за теорией по текущей теме вам — в энциклопедию. Если ещё не погружались, то маршрут прост:
- Основы
- Система и сеть
- Данные и разметка
- Код и разработка
- Языки
- Искусственный интеллект
- Проект
- Инфраструктура и безопасность
- Спин-офф
Обязательно пройдитесь.
А теперь приступим к нашему предмету.
Строки
| Задача | Python | JavaScript | Java | C# |
|---|---|---|---|---|
| Длина | len(s) |
s.length |
s.length() |
s.Length |
| Регистр | s.upper() / lower() |
toUpperCase() |
toUpperCase() |
ToUpper() |
| Обрезка пробелов | s.strip() |
trim() |
strip() |
Trim() |
| Замена | replace(old, new) |
replace() |
replace() |
Replace() |
| Разбиение | split(sep) |
split(sep) |
split(regex) |
Split() |
| Содержит подстроку | sub in s |
includes() |
contains() |
Contains() |
| Начинается с | startswith() |
startsWith() |
startsWith() |
StartsWith() |
Пример: нормализация email (Python)
email = raw.striplower()
if "@" not in email:
raise ValueError("invalid email")
Коллекции (списки / массивы)
| Задача | Python | JavaScript | Java | C# |
|---|---|---|---|---|
| Добавить в конец | append |
push |
add |
Add |
| Длина | len |
length |
size() |
Count |
| Срез | lst[a:b] |
slice(a,b) |
subList |
GetRange |
| Поиск | in / index |
includes / indexOf |
indexOf |
IndexOf |
| Сортировка | sorted(lst) |
sort() / toSorted() |
Collections.sort |
OrderBy |
| Фильтр | comprehensions / filter |
filter |
streamfilter |
Where |
| Преобразование | map |
map |
streammap |
Select |
Пример: уникальные значения (JavaScript)
const unique = [..new Set(items)];
Словари / Map
| Python | JavaScript | Java | C# |
|---|---|---|---|
dict[key] |
obj[key] / Map |
Map<K,V> |
Dictionary<K,V> |
d.get(k, default) |
map.get(k) ?? def |
getOrDefault |
TryGetValue |
d.keys() |
Object.keys() |
keySet() |
Keys |
Даты и время
| Задача | Python | JavaScript | Java | C# |
|---|---|---|---|---|
| Сейчас | datetime.now() |
new Date() |
LocalDateTime.now() |
DateTime.Now |
| UTC | datetime.now(timezone.utc) |
toISOString() |
Instant.now() |
DateTime.UtcNow |
| Формат | strftime |
toLocaleString |
DateTimeFormatter |
:yyyy-MM-dd |
| Разница | timedelta |
разница Date |
Duration / Period |
TimeSpan |
Храните моменты времени в UTC, отображайте в локали пользователя на клиенте или через явный timezone id.
Ввод-вывод
| Язык | Консоль | Файл чтение |
|---|---|---|
| Python | input() |
open(), pathlib |
| JavaScript | readline (Node) |
fs.promises.readFile |
| Java | Scanner |
Files.readString |
| C# | Console.ReadLine |
File.ReadAllText |
Правило: для больших файлов — потоковое чтение построчно, не загружайте гигабайты в память.
Преобразование типов
| Задача | Python | JavaScript | C# |
|---|---|---|---|
| Строка → число | int(s), float(s) |
parseInt, Number |
int.Parse |
| Число → строка | str(n) |
String(n) |
n.ToString() |
| Проверка числа | try/except | Number.isNaN |
int.TryParse |
JSON
| Python | JavaScript | C# |
|---|---|---|
json.loads / dumps |
JSON.parse / stringify |
JsonSerializer |
Всегда оборачивайте разбор JSON в обработку ошибок формата.
Математика
| Python | JavaScript | C# |
|---|---|---|
math.sqrt, round |
Math.sqrt, Math.round |
Math.Sqrt, Math.Round |
min, max |
Math.min, Math.max |
Math.Min, Math.Max |
Практические советы
- Именование: функция делает одно действие —
parseDate,loadUsers. - Границы: проверяйте
null, пустые строки, пустые коллекции. - Иммутабельность: где возможно, не мутируйте исходный массив (возвращайте новый).
- Документация: официальные docs языка — первый источник перед Stack Overflow.
Чек-лист
- Для задачи выбран встроенный метод, а не самописный цикл.
- Учтена кодировка и локаль при работе со строками и датами.
- Ошибки преобразования типов обрабатываются явно.