函数?是什么东西?
从字面上理解,就是一个跟数有关的箱子。
在数学上,y = x^2 - x + 1
就是个函数,你给它一个x
值,它就会进行代入运算,并返给你一个y
值。
类似的,在我们的python
以及各种编程语言(数学其实是一种广义上的编程语言)中,函数(也叫“方法”),可以理解为是一个“黑箱”,你给它一些东西(参数),它就会做一些事情,然后返给你一些东西(返回值)。(传递参数、做事和返回“值”都不是必须的,不过一般情况下,函数肯定会做事)
我们今天,就来看看怎样写函数。
先看一个简单的无参数、无返回值的函数:
def
表示,“这是一个函数,都看见了吗?”
hello
是这个函数的名字。
小括号()
里填参数,但hello
函数不需要,所以先空着。
冒号和缩进表示下面的都是这个函数要做的事——不要忘记它们。
def hello():
print("Hello World")
然而,不管在命令行里还是在文本编辑器里打完在运行,都没什么反应, 怎么回事?
因为我们尚未调用(使用)它。
所以打下
hello()
就完成了一次对它的调用。
看上去也没什么意思啊。
那是因为hello函数太简单了,让我们来一个复杂一点的。(这次带上参数)
def hello2(name):
print("Hello" + " " + name)
调用hello2
函数,告诉它你的名字,比如:
hello2("Python")
hello2("Tom")
怎么样?有点意思了吧?
还不够?!
那就再来一个更复杂的,带上返回值(用return
,只能返回一个值(表达式))。
def func(x):
y = x**2 - x + 1
print("y = %d" % y)
return y
来试一下吧!
x = 8
func_x = func(x)
print(func_x)
函数的基本用法已经说完了,你是否意犹未尽?
我们最后来一个过过瘾吧!(虽然很粗糙)
def stats(list):
dict = {}
dict["max"] = max(list)
dict["min"] = min(list)
dict["length"] = len(list)
sum = 0
for i in list:
sum += i
dict["mean"] = sum / dict["length"]
list.sort()
if dict["length"] % 2 == 0:
t = int(dict["length"]/2)
dict["median"] = (list[t] + list[t - 1])/2
else:
t = int((dict["length"] - 1)/2)
dict["median"] = list[t]
return dict
lb = [23, 5, -56, 4.65, 7, 7]
zd = stats(lb)
for key in zd:
print(key, zd[key])
最后稍微提一下,每一次缩进都相当于开拓了一个新世界(作用域):
1、各个世界里可能有一些重名的东西,但它们在不同的世界里,所以并不是同一个东西。
2、缩进结束之时,就是它的那个世界和其中所有东西的末日。
3、新世界可以沿用一些老世界的传统,这些传统不随新世界的崩溃而消失。
有任何问题请回复提出。然后欢迎关注微信公众号格物致愚:
网友评论