Ответы пользователя по тегу Python
  • Как работает return и random.seed?

    JawsIk
    @JawsIk
    Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
    Итак для начала, хочу сказать, чтобы ты не задавал сразу два вопроса в одном вопросе (я понимаю, что каламбур, и именно поэтому так не делай).
    Итак во-первых:
    def get_regular_price():
      price = float(input("Bвeдитe обычную цену товара: "))
      return price

    Существует такая штука, как пространство имён.

    Вне функции переменной price не существует. И после исполнения (если ты не создашь эту переменную), то переменная price так же ниоткуда не появиться.

    Внутри же функции, переменная price появиться на время исполнения этой функции. И после исполнения, она передаст значение (именно значение, а не название переменной) и тут же "исчезнет". Но до, того пока ты не вызвал функцию, переменная price вообще ни в каком виде не существует.

    Можно использовать твою функцию и создать переменную с тем же названием в основном коде программы:
    price = get_regular_price()
    Но таким же способом можно и задать другое название переменной:
    stoimost354 = get_regular_price()

    По-второму вопросу, а именно про
    import random
    
    random.seed(10)
    print(random.randint(1, 100))

    Да, действительно, существует некая внутренняя реализация функции random. И случайность по умолчанию привязана к текущему времени. И да, действительно, можно указать число через инструкцию seed, которая вместо времени, будет за основу случайности брать, указанное тобой число. Но кроме "времени" или "числа" под капотом у функции есть ещё используемые в генерации параметры (если будет уместным назвать, то так называемая генерируемая "соль"). Посмотреть эти параметры можно если например в PyCharm сделать:
    import random
    и при помощи CTRL + Click на random, посмотреть исходник этой функции.
    Ответ написан
    1 комментарий
  • Как из массива удалить первый из нулевых элементов?

    JawsIk
    @JawsIk
    Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
    То ли я чего-то не пойму, но ведь в питоне нет массивов. Есть списки (+кортежи +множества). А у списков есть "срезы" это такой быстрый инструмент, чтобы можно было срезать "лишнее". Вот например:

    list_ = [0,1,2,3,4,5,6,7,8]
    print(list_[1:])

    [1, 2, 3, 4, 5, 6, 7, 8]

    или ты что-то другое имел ввиду?
    Ответ написан
  • Как сделать такую конструкцию?

    JawsIk
    @JawsIk
    Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
    pip install requests
    --------------------------
    import requests
    
    url = "site.com/file.txt"
    r = requests.get(url)
    text = r.text
    
    with open("file.txt", "w") as file:
        file.write(text)

    ты что-то такое имел ввиду?
    Ответ написан
    Комментировать
  • Как заставить страницу открываться в той же вкладке браузера при нажатии кнопки формы Flask Forms POST?

    JawsIk
    @JawsIk
    Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
    Вот это обязательно???

    formtarget="{{url_for('wifi')}}" formmethod="post"

    Если в форме просто прописать

    <form action="" method="POST"  class="ordinary_form" id="wifi_form">


    а кнопку сделать такой:
    <input type="submit" value="SEND" onclick="loading();">


    Возможно решиться твой вопрос.

    Тут нужно понять, что у тебя выходит в результате вместо {{url_for('wifi')}}

    Вероятно в одном случае у тебя в этих данных какое-то значение, а в другом случае другое.
    Ответ написан
    1 комментарий
  • Как удалить теги в beautifulsoup? Или почистить найденный тег от внутренних тегов, оставив внетеговое содержимое?

    JawsIk
    @JawsIk Автор вопроса
    Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
    В общем нашёл сам, через суповский contents

    По сути концовка теперь стала такой:
    abz = []
            first_text = text.contents[0]
            abz.append(str(first_text).strip())
    
            for a in text.find_all("p"):
                abz.append(a.text.strip())


    но если кто-то знает решение проще, то пожалуйста напишите, я всегда рад изящным решениям.
    Ответ написан
    Комментировать
  • Как можно ввести комментарий на одной строке после input?

    JawsIk
    @JawsIk
    Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
    На сколько мне известно в терминале подобное не предусмотрено. Ну а если "концовку" вставлять в скобках?
    x= int(input("Введите вес (кг): "))
    w= int(input("Введите длину (мм): "))
    h= int(input("Введите высоту (мм): "))
    Ответ написан
  • Как изучать Python?

    JawsIk
    @JawsIk
    Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
    На меня наверное все накинутся, но хуже чем документация Django я не встречал ещё ни разу.
    Да, я не знаю английского. Но я русский человек и сижу на русских порталах и форумах.
    Да, имея четверых детей, нет у меня возможности выучить английский, но даже имея перевод на русском, официальная документация Django отвратительная!!!
    Да, может быть я старый уже дядька и у меня, как я сам про себя говорю, однопроцессорная система в голове, но я считаю, что должно быть описание и тут же показана реализация с кодом и РЕЗУЛЬТОМ ВЫПОЛНЕНИЯ этого кода.
    В официальной же документации Django вы найдёте кучу всего в разных местах, всяких ссылок и описаний. Свойства в одном месте. Фильтры в другом. Аргументы в третьем, а в едином коде вам этого никогда не покажут. И вот когда вы уже подготовленный человек и знаете хотя бы половину из всего, то вам будет легко пользоваться этим, как справочником и то не факт.
    Очень часто вам нужна одна задача и она простая для понимания, а в официальной документации будет непонятно-неприменимый-к-реальности-пример, который вас запутает и отправит в Google. И тут нужно уметь искать по английски.
    Слава Богу, есть https://djbook.ru/ , да там версия 1.9, но по началу вы находите ответы именно там.
    И вот тут чем больше вы копаете, и разбираете чужого кода, тем больше вы понимаете что куда и как лепить. И тогда Django становиться реальным пластилином для быстрых поделок.
    Чтобы выйти на этот уровень новичку обязательно смотреть видео-уроки. Потому как если вы начнёте сейчас изучать английский, то до компьютерного английского вы доберётесь года через 2-3, а это значит вам нужно было задавать вопрос, как изучить всё это дело в 2021 году.
    А если сейчас, то обязательно к просмотру:
    djlesson : https://www.youtube.com/channel/UCbGrifMy8FAYpZ6wj...
    Олег Молчанов: https://www.youtube.com/user/zaemiel/featured?disa...
    Django School: https://www.youtube.com/channel/UC_hPYclmFCIENpMUH...
    Ну а дальше всё остальное, смотрите по Python целыми плейлистами.

    Я сейчас например смотрю очень много англоговорящих курсов. Балаболы срашные! Слава Богу, что я понимаю только отдельные слова. Но я смотрю код, который они кодят. И вот там нахожу порой удивительные решения.

    Но как я уже сказал, нужно несколько месяцев плотно посидеть, посоздавать какие-то проекты по тем же видео-урокам. Чтобы код не вызывал страха и вопроса "А чего это? и где это?".

    А максимум возгласы: "А почему так" или "Ух-ты, не дурно".

    Кроме того вы всегда можете почитать комментарии и сделать для себя выводы, почерпнуть дополнительные нюансы. (и английские комментарии можете переводить). Или даже задать вопрос самостоятельно автору того или иного ролика. Даже на английском (ведь Google Traslate есть). Только совет. Если задаёте вопрос, то разбивайте предложение на короткие.

    В общем плотный кодинг это самое верное средство для изучения. По 3-10 часов в день. И через 3 месяца у вас уже опыт около 500 часов кода на django.
    Ответ написан
    9 комментариев