我正在尝试制作一个python库,该库允许我制作自定义的tkinter小部件,这些小部件比内置小部件在美学上更令人愉悦。但是,在定义一些函数时遇到了一个问题。
问题源于诸如append()和str()之类的函数之间的差异。虽然append函数的工作方式如下...
somelist = ['a', 'b', 'c']
somelist.append('d')
str()函数的工作方式如下...
somenumber = 99
somenumber_text = str(some_number)
您可以通过(1)声明您要修改的列表(somelist
,(2)添加句点,以及(3)实际命名附加函数本身({{ 1}})。同时,通过在其参数区域内放置位置参数(append()
)来“调用” str函数。我不知道为什么会有这种区别,更重要的是,是否有一种方法可以指定使用哪种方法“调用”我定义的函数?
谢谢...
答案 0 :(得分:1)
在Python中,函数是一组执行特定任务的相关语句。
函数有助于将我们的程序分解为较小的模块化块。随着我们的计划变得越来越大,功能使其变得更有组织性和可管理性。
此外,它避免重复并使代码可重用。
功能语法
def function_name(parameters):
"""docstring"""
statement(s)
上面显示的是由以下组件组成的函数定义。
关键字def标记函数头的开始。 唯一标识它的函数名称。函数命名遵循在Python中编写标识符的相同规则。 我们通过其将值传递给函数的参数(参数)。它们是可选的。 冒号(:)标记函数头的结尾。 可选的文档字符串(docstring),用于描述函数的功能。 组成函数体的一个或多个有效python语句。语句必须具有相同的缩进级别(通常为4个空格)。 可选的return语句,用于从函数中返回值。
答案 1 :(得分:0)
您实际上不需要创建类或任何方法。您可以创建一个类似于bind的普通函数,只需将小部件作为普通参数进行绑定即可。例如:
def bind_multi(widget, callback, *events):
for event in events:
widget.bind(event, callback)
这意味着您必须以bind_multi(mybutton, callback, event1, event2)
而不是mybutton.bind_multi(callback, event1, event2)
的形式调用此函数,但这没什么问题。