什么是函数??
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
简而言之,函数在我们日常就用的很多了,但大多数都是官方定义好的函数,我们直接调用就可以例如input(),print()等,只不过它如何定义的我们也就不关心了。要是我们的代码中需要大量重复使用一串复杂的代码块,那么我们就可以定义一个函数来表示这段代码块,需要用到时直接调用即可!!
1.函数调用
函数由三个部分组成:函数名,参数以及返回值。
函数名就是函数的标识符。
函数的参数就是在调用函数时给函数提供数据。
name = input("请输入你的姓名:")list = len(name)print(list)
在这里,input,len,print是函数名,函数括号内的为参数,等号左边的为返回值。
调用函数:一般为函数名加小括号。小括号内可填写参数,为函数提供数据。当然有些函数不需要参数(list.clear()),有些函数必须要传递参数(list.append())。
2.定义函数
需用def(define)关键字来定义函数,需以冒号结束。
函数必须先定义在调用
def name():
print('苏凉')def QQ_num():
print('787991021')def Total():
name()
QQ_num()
Total()
定义函数:
函数头:关键字def +自定义函数名加小括号,最后以冒号结尾。def name(),def QQ_num(),def Total()
函数体:需要函数实现的功能。即函数体前必须缩进4个字符。一个tab键。
注意:函数的执行是由上到下的,即必须先定义函数在调用。
3.函数参数
函数的参数可以让我们定义的函数更为灵活。
注意:定义函数时若传入了参数,那么在调用时也必须指定参数。
传参时可传入一个参数,也可传入多个参数。
# 传入一个参数def list(len):
print('+' * len)list(5)# 传多个参数def list2(num1 , num2):
print(num2 * num1)list2('*',15)list2(5,10)
调用函数时给定实际的值(实参),这样就会给定义的参数(形参)进行赋值。
注意:在传入多个参数时,需注意参数的个数以及顺序是否正确,顺序不同函数的意义也就不同。
4.函数返回值
函数可以返回单个值也可以返回多个值,用return来返回值。
注意:当函数执行到return时则函数执行结束。即不会再执行return后的函数体。
def num(age,sex):
if age<0:
return
elif age>200:
return
else:
return age,sex
x = int(input('输入年龄:'))Sex = input('输入性别:')num ,sex = num(x,Sex)print(num,sex)
函数返回多少个值就要用多少个值去接收,否则就会报错。此时分别返回单个值。
一种特殊情况为用一个变量接受,此时返回的值为一个元组类型!
result = num(x,Sex)print(result)
总结:函数可以返回单个值也可以返回多个值,当返回多个值时,需要用对应多个变量接收函数返回的值,若只用一个值接收,则返回一个元组类型的值。
5.变量作用域
变量的作用域:即是指在那个地方可以使用变量。这就涉及到了全局和局部两种变量。
全局(global)变量:在函数外定义的变量。无论在函数体内或者函数体外都可以使用! ?全局变量在函数体内只能使用而不能直接修改!!
局部(local)变量:在函数内定义的变量,在函数内定义的变量,只能在函数体内使用和修改,在函数外调用就无效了。 在函数内可以定义一个名字和函数外一样的变量,但他们的意义时不一样的!!
a = 15 #这里a为全局变量def num():
a = 5 #这里a为局部变量,名字可以相同但代表不同的值
print(a)num()print(a)
结果:
这里可以看到局部变量是不能修改全局变量的值的。
a = 15 #这里a为全局变量def num():
# 在函数体内可以使用全局变量
print(a)
num() #结果15print(a) #结果15
在函数体内是可以使用全局变量的
a = 15 #这里a为全局变量def num():
global a #定义全局变量
a = 5
print(a)num() #结果5print(a) #结果5
若想要在函数体内修改全局变量,则需在修改之前,定义全局变量,此时函数体内的变量a为全局变量,不再是函数体内定义的局部变量了。
以上就是python基础语法详解之函数的详细内容,转载自php中文网
发表评论 取消回复