Python基础——函数用法
1. 函数的定义与调用
-
定义
1、函数代码块使用 def关键字开头定义,后面跟上函数名称和 ( ),后面再接上冒号。
2、任何传入的参数都应该放到括号里面。
3、第二行开始函数里面的内容使用缩进。
4、如果函数有返回值,使用 return,如果没有写return,默认表示返回 None。
5、函数名必须以下划线或者字母开头,可以包含数字、字母、下划线等组合,不可以包含标点符号。
6、函数名称不能一样,如果一样那么后面的函数定义覆盖前面的定义。
7、函数名如果一样,但是大小写不一样,是可以的,算作两个不同的函数。 -
调用
1、使用函数名()方式调用函数。
2、调用的语句需要放在定义的后面。
def sum(x1,x2):
result=0
for i in range(x1,x2+1):
result=result+i;
return result
def main():
print (sum(1,10))
main()
2. 返回值
1、return语句终止当前函数的执行,return后的语句将被忽略。
def sum(x1,x2):
result=0
for i in range(x1,x2+1):
result=i+1;
return result#return语句终止当前函数的执行,return后的语句将被忽略
print("1")
def main():
print (sum(1,10))
main()
2、如果要返回多个返回值,只能用一个return,多个返回值使用逗号隔开,外面接受到的返回值是一个元组类型。
def add(a,b):
c=a+b
return c,a,b
x=add(1,2)
print(x)
print(type(x))
3. 参数
1、函数可以定义多个参数。
2、如果函数定义有参数,调用的时候不可以不给参数调用函数的参数。
3、调用函数的参数名称可以和定义函数的参数名称不一样。
4、如果函数定义的时候参数给了默认值,那么调用的时候可以省略掉不用赋值。
a=10
b=10
c=10
def A(x,y=1,z=2): #括号中的参数形式参数
print("x=",x)
print("y=",y)
print("z=",z)
A(10)
A(10,10)
A(a,b,c) #括号中的参数为实际参数,且参数名可以与形式参数名不同
4. 全局变量与局部变量
1、局部变量定义在函数里面,脱离这个函数之后,其他地方不能使用。
2、全局变量定义在函数外面,所有的函数都可以使用。
3、使用global 修饰局部变量,表示使用全局变量,要求是局部变量和全局变量名称一样。
4、如果定义的全局变量,在全局中尚未定义,那么将该变量定义为全局。
5、用不可变数据类型(数值型、字符串、元组)做全局变量,传入函数后不会改变里面的值。
6、用可变数据类型(列表、集合、字典)做全局变量,传入函数后会改变里面的值。
c=10
a=10 #数值型
str="abc" #字符串
t=(1,2,3) #元组
l=[1,2,3] #列表
d={"a":1,"b":2} #字典
def f():
global c #使用global 修改局部变量,表示使用全局变量,局部变量名与全局变量名相同
c=c+1
global b #定义的全局变量,在全局中尚未定义,则作为全局变量使用,可以运用到其他函数中
b=8
a=9
str="def"
t=(5,6,7)
l[0]=8
d["a"]=8
def F():
a=10
f()
print("a=",a)
print ("c=",c)
print ("str=",str)
print ("b=",b)
print ("t=",t)
print ("l=",l)
print ("d=",d)