上周我一直在努力学习 Python,而且进展非常顺利,但是现在我被介绍了自定义函数,我有点碰壁了。虽然我了解它的基础知识,例如:
def helloworld():
print("Hello World!")
helloworld()
我知道这会打印“Hello World!”。
但是,当涉及到从一个函数获取信息到另一个函数时,我发现这很困惑。即:function1 和 function2 必须协同工作才能执行任务。此外,何时使用 return
命令。
最后,当我在函数内部有一个列表或字典时。我会编一些东西作为例子。
def my_function():
my_dict = {"Key1":Value1,
"Key2":Value2,
"Key3":Value3,
"Key4":Value4,}
我如何访问键/值并能够从函数外部更改它们?即:如果我有一个程序可以让您输入/输出玩家统计数据或视频游戏中的角色属性。
我理解其中的点点滴滴,当它们有不同的功能相互调用时,这只会让我感到困惑。
此外,因为这是我第一次接触自定义函数。这真的是雄心勃勃的追求吗?这可能是我所有困惑的原因吗?因为这是我见过的最复杂的程序。
最佳答案
python 中的
Functions
可以是常规的 procedure
和具有返回值的 function
。实际上,每个 Python 函数都会返回一个值,可能是 None
。
如果不存在 return 语句,那么您的函数将完全执行并按照代码流正常离开,产生 None
作为返回值。
def foo():
pass
foo() == None
>>> True
如果您的函数中有一个return
语句。返回值将是它后面的表达式的返回值。例如,您可能有 return None
并且您将显式返回 None
。您也可以不带任何其他内容而使用 return
,这样您将隐式返回 None
,或者您可以使用 return 3
,这样您将返回值 3。这可能会增加复杂性。
def foo():
print('hello')
return
print('world')
foo()
>>>'hello'
def add(a,b):
return a + b
add(3,4)
>>>7
如果您想要在函数内创建的字典(或任何对象),只需返回它:
def my_function():
my_dict = {"Key1":Value1,
"Key2":Value2,
"Key3":Value3,
"Key4":Value4,}
return my_dict
d = my_function()
d['Key1']
>>> Value1
这些是函数调用的基础。还有更多。有些函数返回函数(也被视为装饰器。您甚至可以返回多个值(不是真的,您只会返回一个元组)和很多有趣的东西:)
def two_values():
return 3,4
a,b = two_values()
print(a)
>>>3
print(b)
>>>4
希望这对您有所帮助!
关于Python自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17936970/