Уведомления

Группа в Telegram: @pythonsu

#1 Июль 8, 2019 19:31:34

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Как передать параметры в функцию?

Привет!
Начал изучать возможности tkinter.
Появился такой вопрос:
я создаю кнопку “abc”и привязываю к ней функцию “fn1” при нажатии-
abc = tkinter.Button(tk,text=“123”, command= fn1)
тут всё понятно. Вопрос - как передать в функцию fn1 какие-нибудь параметры
ведь за название функции нет скобок, куда ж их вставлять?

Офлайн

#2 Июль 8, 2019 20:14:36

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Как передать параметры в функцию?

 abc = tkinter.Button(tk,text='123', command= lambda : fn1(arg))
еще по вопросу

Отредактировано marvellik (Июль 8, 2019 20:16:36)

Офлайн

#3 Июль 8, 2019 20:37:44

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Как передать параметры в функцию?

С этим разобрался, спасибо.
Теперь не пойму - можно ли из этой функции вернуть значение с помощью return?
КУДА return вернёт это значение? ведь нет переменной которой присвоен вызов функции

Офлайн

#4 Июль 8, 2019 21:39:52

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Как передать параметры в функцию?

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

Офлайн

#5 Июль 8, 2019 23:48:55

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Как передать параметры в функцию?

да, хотел изменить переменную и пришлось делать её глобальной.
Но, как я понял из прочитанного, делать переменные глобальными “плохой приём”
Поэтому думал, что есть вариант получить результат с помощью return

Офлайн

#6 Июль 9, 2019 03:28:18

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

Как передать параметры в функцию?

лучшим способом будет юзать классы, внутри класса все что привязано к self глобально, но при этом за его пределами - нет.

 class demo:
    var1 = 1 # это классовая переменная она привязана к self (не уверен что правильно обозвал)
    def __init__(self):
        self.var2 = 2 # это переменная привязанная к self ее видно из всего класса
        var3 = 3 # это локальная переменная метода, ее видно только внутри метода



Офлайн

#7 Июль 9, 2019 12:04:05

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Как передать параметры в функцию?

@cckyi_boxxx
это классовая переменная она привязана к self
как раз таки она не привязана к self
С вашими формулировками достоверно не понятно понимаете ли вы разницу между классом и его экземпляром и их пространством имен. Я склоняюсь что скорее нет чем да



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version