python 函数

函数通过def关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号
之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。

def sayHello():
        print ('hello python')
sayHello()

结果:

hello python

函数取得的参数是你提供给函数的值,这样函数就可以利用这些值 做 一些事情。这些参数就
像变量一样,只不过它们的值是在我们调用函数的时候定义的,而非在函数本身内赋值。
参数在函数定义的圆括号对内指定,用逗号分割。当我们调用函数的时候,我们以同样的方式
提供值。注意我们使用过的术语——函数中的参数名称为 形参 而你提供给函数调用的值称为
实参 。

def sayHello():
        print ('hello python')
sayHello()

def printMax(a,b):
        if a>b:
                print (a,'is maximum')
        else:
                print (b,'is maximum')
printMax(3,4)
x=5
y=7
printMax(x,y)

结果:

hello python
4 is maximum
7 is maximum

局部变量:
当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即
变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的
块,从它们的名称被定义的那点开始。

def func(x):
        print ('x is',x)
        x=2
        print ('Changed local x to',x)

x=50
func(x)
print ('x is still',x)

结果

x is 50
Changed local x to 2
x is still 50

默认参数值:

对于一些函数,你可能希望它的一些参数是 可选 的,如果用户不想要为这些参数提供值的
话,这些参数就使用默认值。这个功能借助于默认参数值完成。你可以在函数定义的形参名后
加上赋值运算符(=)和默认值,从而给形参指定默认参数值。

def say(message,time=1):
        print (message*time)
say('hello')
say('world',5)

结果:

hello
worldworldworldworldworld

只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有
默认值的形参而后声明没有默认值的形参。
这是因为赋给形参的值是根据位置而赋值的。例如,def func(a, b=5)是有效的,但是def func
(a=5, b)是 无效 的。

关键参数:
如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参
数赋值——这被称作 关键参数 ——我们使用名字(关键字)而不是位置(我们前面所一直使
用的方法)来给函数指定实参。
这样做有两个 优势 ——一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、
假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。

def func(a,b=5,c=10):
        print ('a is',a,'b is',b,'and c is',c)

func(3,7)
func(25,c=24)
func(c=50,a=100)

结果:

a is 3 b is 7 and c is 10
a is 25 b is 5 and c is 24
a is 100 b is 5 and c is 50

return语句

def maximum(x,y):
        if x>y:
                return x
        else:
                return y

print (maximum(2,3))

结果

3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章