Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Квас

Pages: 1 ... 29 30 [31] 32 33 ... 86
451
разве cat- в "category" не "\bcat\B"?
Именно так, там неправильно написано. Можно даже проверить экспериментально.

или я не так понимаю и \b, \B только попарно работают?
Не, независимо от всего прочего.
  • 0
  • 0

452
Code: [Select]
pattern = r"\d\d\d\d\d\d\d\d\d\d"  # Matches any ten consecutive digitsэто мне понятно, но что делать если у нас неизвестное число цифр? Вот мы ищем в произвольном тексте все целые числа, как тогда надо описать маску для поиска?

Квантификатор * матчит любое число повторений (в том числе 0, то есть пустую строку); квантификатор + матчит одно или больше повторений. То есть найти группу из цифр можно выражением r'\d+'.

Кстати, в качестве квантификатора можно использовать число в фигурных скобких: r'\d{10}' - это r'\d\d...<десять раз>\d'.
  • 0
  • 0

453
а амперсанд для конкатенации не поддерживается? странно как-то... ??? :-\

Можно плюсом.
  • 0
  • 0

454
Еще немного не понятна концепция "методов", чем они отличаются от функций. Или это просто игра словами?

Ну, это стандартная терминология ООП: методы суть функции, приклеенные к объектам. Принципиальных концептуальных различий с функциями у них нет. Однако, foo(a) - это вызов вполне определённой функции с аргументом a, а a.foo() - это вызов метода foo, ассоциированного с объектом a, и с разными объектами могут быть ассоциированы разные методы foo.
  • 0
  • 0

455
заметил, что значение переменной можно вывести просто написав ее имя, без функции принт. Это такая фича, так и задумано? В реальных программах тоже можно или это дурной тон так делать?

Интерактивный шелл, существующий в некоторых языках, называется REPL: Read-Evaluate-Print Loop. Интерпретатор берёт на себя ввод-вывод, а пользователь может сосредоточиться на логике вычисений. Поэтому в репле значение переменной печатается: это значение выражения, образованного из одной этой переменной. А если одинокая переменная стоит в скрипте, она не напечатается.
  • 0
  • 0

456
В С++17 ещё перегружают / для работы с директориями: std::filesystem::path("C:\\")/"Program Files"/"My Program" -- это даже удобнее, чем питоновский os.path.join.

Кстати, у нас была настойчивая рекомендация использовать в питоне Path из pathlib, там такая же перегрузка слеша.
  • 1
  • 0

457
С Jupyter-ом я немного работал, не фанат.

Главный недостаток - написанное в ноутбуке трудно переиспользовать. Только открыть этот самый ноутбук, щёлкнуть это самое определение, и оно будет доступно в этом ноутбуке и больше нигде. Поэтому для себя я сформулировал такое правило: сколько-нибудь серьёзный код писать в файле и загружать этот файл в ноутбук для интерактивных экспериментов.

Ещё некоторые неудобства происходят из того, что по своей натуре питон не очень годится для интерактивной работы. Перезагружать определения индивидуально нельзя, только модуль целиком. Переопределить из ноутбука определение, данное в файле, нельзя.

Время от времени ядро ноутбука падало, приходилось перезапускать питон и восстанавливать определения.

Как текстовый файл ноутбук нечитаем, с гитом плохо сочетается.

Достоинства:
1. На безрыбье и рак рыба.
2. Можно картинки рисовать.
  • 0
  • 0

458
так я верю, но мне как хардкорному бейсикисту было дико. Тем более, что было в тесте на знание синтаксиса («найди неправильное выражение») и мне точно показалось, что за такое компьютер трасерами расстреливает ??? :-\

Вообще, тот факт, что строки можно умножать на числа - это просто курьёз. Его легко можно было бы добавить в какой угодно язык, просто где-то реализовать правило "умножение строки на число понимать как конкатенацию этой строки с самой собой". Интереснее, что, оказывается, оператор "звёздочка" работает с любым объектом, для которого определён "волшебный" метод __mul__. Который, естественно, можно определять по своему усмотрению. Например,
Code: [Select]
class C:

    def __init__(self, message):
        self.message = message

    def __mul__(self, k):
        if (k == 1):
            return self
        if (k == 2):
            return C(f'{self.message} bis')
        if (k == 3):
            return C(f'{self.message} ter')
        return C(f'{self.message} iterum atque iterum')

salve = C('salve')
print((salve * 1).message)
print((salve * 2).message)
print((salve * 3).message)
print((salve * 4).message)
печатает
Code: [Select]
salve
salve bis
salve ter
salve iterum atque iterum
Пока в это необязательно, наверно, вникать, особенно если вы до классов не добрались. Но для питона характерны такие "волшебные методы", которые сами вызывать не надо, но они делают доступной ту или иную функциональность.
  • 0
  • 0

459
спасибо! т.е. упрощая False для чисел это нули, а для стрингов - пустые? разумно, уже представляю как с помощью bool() можно экономить некоторые логические тесты

Ага. Экономить можно и без применения bool, потому что в тест может идти любое значение, не только True/False. Например, если s - строка:
Code: [Select]
if s:
    print('Первая литера:', s[0])
else:
    print('Пустая строка')
  • 0
  • 0

460
"Ложные" значения превращаются в False, остальные - в True. "Ложных" значений много: 0, None, пустые строка/список/словарь/тупл, а также, оказывается, можно определять кастомные (я не знал): https://docs.python.org/3/library/stdtypes.html#truth-value-testing Имхо, сомнительный дизайн, но что есть, то есть.
  • 0
  • 0

461
трамп маск такер карлсон орбан марина ле пен - тисячі їх

Да зачем спорить со сказочниками. Наверно, они ещё рассказывают, что на Западе люди с собачьими головами. Тоже спорить? Это просто иллюстрация бредомира, в котором иные живут в РФ.
  • 0
  • 0

462
Не-не, лебединое как раз не надо запрещать.
  • 1
  • 0

463
И? Какое отношение язык имеет к политике? На форуме даже товарищи с Украины используют русский язык, не смотря на все происходящие события.

Что вы как дитё. Дело не в языке, а в его спонсорах. Русский язык в мире продвигает не кто иной как Российская Федерация, обычно при участии мутных личностей и организаций. Кстати, в Коимбре недавно попёрли из университета одного такого бывшего (ха-ха) кагэбэшника. >o< https://rr.sapo.pt/noticia/pais/2023/05/10/universidade-de-coimbra-despede-lider-de-centro-de-estudos-russos-acusado-de-propaganda-pro-putin/330767
  • 2
  • 0

464
Именно: оружием. Думаю, эрефия уже сделала «своему» Крыму ручкой — иначе с чего бы она его болотила?

Ээ... То есть до войны реально кто-то считал, что Украина может атаковать силы РФ в Крыму? То есть что Украина может развязать вооружённый конфликт с РФ? Не верю. :) Ну только если натренировать реально много боевых комаров. Вообще, тезис "Украина собиралась на нас напасть" мне всегда казался одним из самых нелепых в кремлёвской пропаганде.
  • 1
  • 0

465
Украина и не скрывала, что будет возвращать. Помню и про парад победы в Севостополе.

Да, боевых комаров тренировала.
  • 0
  • 0

Pages: 1 ... 29 30 [31] 32 33 ... 86