python学习笔记

python11-继续减少重复工

2016-12-30  本文已影响2人  yigoh
python

函数?是什么东西?
从字面上理解,就是一个跟数有关的箱子
在数学上,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、新世界可以沿用一些老世界的传统,这些传统不随新世界的崩溃而消失。

有任何问题请回复提出。然后欢迎关注微信公众号格物致愚

格物致愚
上一篇下一篇

猜你喜欢

热点阅读