精华 发表在 Python教程部落 10-07 21:30:56
函数
函数,其实就是一段段代码,函数是很方便的,下面是一个例子:
我们想要求排列的问题:
从m 个不同元素中取出 n个元素并按照一定的顺序排列,方法数记作
Anm = m*(m-1)*......*2*1
a = 5
b = 5
print(5*4*3*2*1)
那么,代码中还有其他要用到这段代码,那么,我们就不得不重新写一遍。
但这种方法太笨了,不是吗?
那么就用到我们的函数了,怎样创建自己的函数呢?
用关键字def:
def
def:定义函数
语法:
def 函数名(参数):
代码
*参数是可选的,可以不用参数,如果加上了参数,调用时就一定要加上参数,参数可以有多个
调用方法:
函数名(参数)
*如果函数定义时没有加上参数,可以忽略
例子:
return:在函数中返回值
def hour(hour):
if hour == 60:
break
else:
return ''
另外一种是可选参数,可选参数你可以加上,调用时可以不用管他 ( 用默认值 ) ,语法如下:
def 函数名(可选参数=默认值):
代码
函数名()
例子:
def hit_me(is_hit=False):
if is_hit == True:
print('you hit me')
else:
print('你没有碰到我')
思考:
def var():
x = 0
var()
print(x)
运行后,会出现异常:
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\t.pyw", line 6, in
print(x)
NameError: name 'x' is not defined
x没有定义?这好奇怪。
为什么?
图:
我们可以看到,我们的变量设在了第一个局部变量
规则:
每一片区,一般只能使用自己区域的变量,如果想要在函数中定义全局变量,该怎么办?
定义全局变量: global关键字
定义外部变量(非全局变量,就是颜色深的那一块): nonlocal关键字
例:
def var():
global x
x = 0
var()
print(x)
def var():
x = 5
def var2():
nonlocal x
x = 0
var2()
print(x)
var()
快去定义你自己的参数吧!
谢谢!
5 赞
3 赞
2 赞
1 赞
3 赞