Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/54: Рейтинг темы: голосов - 54, средняя оценка - 4.54
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

Как работают функции?

06.10.2020, 19:17. Показов 12226. Ответов 138
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как подправить, чтобы в функцию tr передавался параметр из функции buba, вводимый пользователем?
Python
1
2
3
4
5
6
7
8
9
10
11
12
def buba():
    print("Введите число ", end = '')
    num = int(input())
    print(num)
 
        
def tr(num):
    hi = num+1
    print(hi)
 
buba()
tr()
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2020, 19:17
Ответы с готовыми решениями:

Как работают функции?
Как заменить global на что то другое? def getInput(): global k k=int(input('Введите, сколько у Вас есть ')) getInput() ...

Как работают встроенные функции?
Почему первая строка рисует сердечко, а вторая выдает ошибку?print(chr(3)) print(chr(10045)) >>> print(chr(3)) ♥ ...

Как работают функции в python?
Извините за такой тупой вопрос, но мне нужно написать небольшой скрипт на питоне. и я не помню, как именно работают функции, помню что...

138
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38228 / 21160 / 4314
Регистрация: 12.02.2012
Сообщений: 34,773
Записей в блоге: 14
30.01.2021, 10:40
Студворк — интернет-сервис помощи студентам
Рыжий Лис, откуда эти цитаты? Конгениально!
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
30.01.2021, 10:44
Catstail, вроде, из "Просто космос. Практикум по Agile-жизни, наполненной смыслом и энергией | Ленгольд Катерина"
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
03.02.2021, 13:13  [ТС]
А как подправить? А то выдает:
Code
1
TypeError: 'int' object is not callable
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Person:
 
    people_count = 0
 
    def __init__(self, vozrast, imia, pol):
        self.vozrast = vozrast
        self.imia = imia
        self.pol = pol
 
        Person.people_count += 1
 
p1 = Person(23, "Вася", "М")
 
p2 = Person(35, "Маша", "Ж")
 
print(Person.people_count())
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7393 / 4820 / 1246
Регистрация: 30.03.2015
Сообщений: 13,703
Записей в блоге: 29
03.02.2021, 13:15
Цитата Сообщение от supmener Посмотреть сообщение
people_count()
зачем скобки поставил? это не функция а инт.
Создавай тему отдельную для своих вопросов
1
3584 / 2184 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
03.02.2021, 13:16
Цитата Сообщение от supmener Посмотреть сообщение
print(Person.people_count())
Убери скобки:
Python
1
print(Person.people_count)
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
11.06.2021, 17:44  [ТС]
Прошу привести ещё дополнительные обучающие примеры того, как передавать функции в качестве аргументов и возвращать их из других функций.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
11.06.2021, 17:46
Тебе это не нужно.
1
3584 / 2184 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
11.06.2021, 17:53
Цитата Сообщение от supmener Посмотреть сообщение
как передавать функции в качестве аргументов и возвращать их из других функций.
Python
1
2
3
4
5
6
7
def foo():
    def inner():
        print("Oh, my!")
    return inner
    
runnable = foo()
runnable()
Python
1
2
3
4
def bar(baz):
    baz()
    
bar(lambda: print("Oh, my!"))

Не по теме:

P. S. Мне бы рвение ТСа))


1
11.06.2021, 17:54

Не по теме:

Лучше раст выучил бы

0
11.06.2021, 18:33

Не по теме:

Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Лучше раст выучил бы
Расскажи плиз в общих чертах, так сказать из первых рук, профит раста.

0
11.06.2021, 18:51

Не по теме:

iSmokeJC, чет почитал статью на тему: Comparison between Java, Go, and Rust - Rust не впечатлил.

0
11.06.2021, 18:55

Не по теме:

Arsegg, ну вот я у Лиса и спрашиваю. Из первых рук, а не из разного рода статеек.

0
11.06.2021, 19:02

Не по теме:

iSmokeJC, короче, сильно улучшенный Си. Причём нагло пользуется сишными внешними либами. Пример: https://crates.io/crates/libxml

Упор на безопасность, невозможны переполнения буферов (проверка в рантайме, отключаемо), что-то хитрое намудрено с переполнением примитивных типов. Полностью автоматическое управление памятью БЕЗ сборщика мусора. Минимальный рантайм. То есть никаких тупых ошибок из-за утечек памяти или двойного освобождения указателя.

Как и в си нет ООП и классов (но есть структуры с функциями). Довольно низкоуровневый с одной стороны, с другой - магия анонимных функций, функционального программирования и всего лучшего из других языков. И всё это - НУЛЕВАЯ стоимость абстракций. Написано сложно, например, итераторы, вызовы функций итд - компилируется в тривиальный (и высокопроизвоительный) ассемблерный цикл. По максимуму инлайнит все функции.

Полная поддержка юникода (точнее только эту кодировку поддерживает). И почти вся библиотека ПОТОКАБЕЗОПАСНА. Многопототочность - лучшая часть языка. Можно легко генерировать документацию из коробки.

Из вкусного: если скомпилировалось, то с высокой вероятностью будет работать.

А теперь какой ценой это было сделано:

Для этих целей Rust имеет такие элементы языка, как Ownership и Borrowing. Система Ownership является основой для всего языка. Rust гарантирует, что у любого заданного объекта на все время его жизни существует ровно один владелец.

В Rust можно также заимствовать (borrow) объект, используя ссылку, чтобы избежать излишние изменения владельца и копирования. Однако для этого существуют некоторые строгие ограничения, процитирую:

В любой момент времени вы можете иметь либо одну изменяемую ссылку, либо любое количество неизменяемых ссылок.

Ссылки всегда должны быть актуальными.

Для этой цели Rust отслеживает время жизни (lifetime) для каждой ссылки. Чаще всего времена жизни объектов генерируются автоматически, но в некоторых случаях мы должны аннотировать их вручную, используя специальный синтаксис языка. Это позволяет эффективно управлять памятью без оверхеда от использования GC. Пример заимствования:

Fearless Concurrency - этим термином разработчики Rust называют способность своего языка помогать создавать многопоточные алгоритмы безопасно и эффективно.
Новые нигде не встречаемые концепции, которые сносят мозг. Владение переменной, мутабельность переменной. Как только видимость переменой заканчивается - переменная (и память) уничтожается. Иногда приходится явно подсказывать компилятору время жизни переменной.

Трейты. Аналогов нет, что-то среднее между классами и интерфейсами. Ты можешь создать свой трейт, внутри реализовать функции. И эти функции будут доступны у ЛЮБОГО типа, какой ты пожелаешь. Хочешь добавить функцию meow() для целого числа? Легко!

Code
1
println!(42.meow());
И то работает. И в обратную сторону - создаешь свой тип, пишешь реализацию трейтов - и можешь передавать свой тип в библиотеки КОТОРЫЕ НЕ ЗНАЮТ о существовании твоего типа. Но это работает (как в утиной типизации в питоне, только здесь всё честно компилируется).

А ещё макросы… Которые сделаны как запуск компилятора - распространённая кодогенерация.

Пример кода:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/// Нечёткая температура
enum FuzzyTemperature {
    /// слишком холодно
    TooCold,
    /// холодно
    Cold,
    /// тепло
    Warm,
    /// жарко
    Hot,
    /// слишком жарко
    TooHot,
}
 
trait Fuzzy {
    /// Фаззификатор
    fn fuzzifier(value: f64) -> Self;
    /// Дефаззификатор
    fn defuzzifier(&self) -> f64;
}
 
impl Fuzzy for FuzzyTemperature {
    fn fuzzifier(value: f64) -> Self {
        // math.exp(-((x - 30) / 7) ** 2) //hot
        return Self::Cold;
    }
 
    fn defuzzifier(&self) -> i64 {
        todo!()
    }
}

0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
11.06.2021, 19:06
Рыжий Лис, лихо!
0
11.06.2021, 19:08

Не по теме:

Первый и единственный видео-курс, который я посмотрел: https://www.youtube.com/watch?... 1uAluUqE_e

0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
11.06.2021, 20:16  [ТС]
Не по теме:
Благодарю конечно. Только не знаю, для чего изучать Руст. Более практично было бы освоить PHP и Javascript, с моей точки зрения.
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
11.06.2021, 23:00
Цитата Сообщение от supmener Посмотреть сообщение
Только не знаю, для чего изучать Руст.
А для чего изучают Ассемблер или Си? Существуют разные специализации, которые имеют свои области применения. Это язык низкого уровня, который обеспечивает очень высокую производительность. Как я понял, что то между Ассемблером и Си. Такие языки нужны например для драйверов, которые за короткий промежуток времени используются огромное количество раз, и скорость для них, это главное. Например драйверы мониторов или драйверы винчестеров, к которым идет обращение непрерывно.
Поэтому, стоит ли его изучать, зависит от того, чем Вы собираетесь заниматься в будущем.
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
12.06.2021, 13:39  [ТС]
Не по теме:
А что лучше писать на Русте? Драйвера?
0
3584 / 2184 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
12.06.2021, 13:51

Не по теме:

Как по мне, Rust - промежуточная стадия С++/C# с примесью Scala/прочих функциональных ЯП для эффективного написания многопоточного кода; без GC, но с автоматическим управлением памятью.



Добавлено через 6 минут

Не по теме:

Рыжий Лис, а что по вакансиям Rust Developer? Сложно найти работу?

1
12.06.2021, 14:30

Не по теме:

Цитата Сообщение от supmener Посмотреть сообщение
А что лучше писать на Русте?
Все, где быстродействие критично. Например я думаю быстродействие критично в программной защите атомной станции. Там я думаю должно быть дублирование сигналов управления, что бы повысить надежность прохождения сигналов, когда происходят сбои в программах. А это все требует затрат времени. Самый быстрый, это ассемблер, так как там команды, это просто даны имена машинным кодам. Быстрее уже ничего быть не может (при наличие одного и того же железа). Но писать на ассемблере очень трудоемко, и нужно хорошо знать работу компьютера на уровне сигналов в микросхемах. Поэтому следующий за ассемблером язык, который появился, это Си. Си объединяет часто используемые последовательности команд ассемблера (машинного кода) в команды языка Си. То есть Си это маленькие блоки машинных кодов обозначаемые командами языка Си. Это значительно ускоряет разработку программ, и очень не значительно снижает скорость выполнения программ. Поэтому язык Си так популярен.
Но так, как производительность компьютеров постоянно увеличивается, и не везде требуется максимальное быстродействие, то стали появляются языки высокого уровня, которые значительно повышают скорость разработки программ, но снижают скорость их работы. К таким языкам относится и Питон, пожалуй самый удобный (среди языков общего назначения) для быстрого проектирования программ. Программы пишутся быстро, хотя работают не так быстро, как программы на Си и Ассемблере. Питон, это крупноблочный язык высокого уровня, где одна команда может выполнять большое количество машинных кодов стандартным образом. Хотя для каждого конкретного случая для получения того же результата, что дает команда питона, может существовать более эффективная последовательность машинных кодов, чем та, что заложена в команду питона. Отсюда и потеря быстродействия.
Но повторюсь, быстродействие не везде имеет значение, В небольших программах разница составляет доли секуны, которые вы можете даже не заметить.:)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.06.2021, 14:30

Не работают некоторые функции php (phpinfo), простые конструкции типа for - работают
Здравствуйте. Предыстория такова - стоял и работал почти год openserver, знать не знал проблем. Потом прилетело принудительное...

Функции работают по отдельности, но если запустить их подряд, то не работают
#include <string> #include <fstream> #include <iostream> #include <vector> using namespace std; void func (vector<double>...

Как работают функции?
void UnionSet(int* Set, int SIZE, int* Set_1, int SIZE_1, int* Set_0, int & SIZE_0) { SIZE_0 = SIZE; for (int i = 0; i <...

Как работают функции?
Код отсюда https://www.ibm.com/developerworks/ru/library/j-cb02067/index.html Не пойму как это работает. Эта строка что делает (first...

как работают функции
void Model::MoveUp() { int hold=-1; if(!isCircleUp) { for(int i=0;i<NCIRCLES;i++) { if(circles.nCore ==...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
120
Ответ Создать тему
Новые блоги и статьи
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru