def area(w,h): return w * h w = 3 h = 4 print(area(w,h))
结果为12
#传可变对象参数 def changeme(mylist): mylist.append([1,2,3,4]) print("函数内取值:",mylist) return mylist = [5,6,7,8] changeme(mylist) print("函数外取值:",mylist)
结果:
函数内取值: [5, 6, 7, 8, [1, 2, 3, 4]]
函数外取值: [5, 6, 7, 8, [1, 2, 3, 4]]
#必须参数,必须传入一个参数,否则语法出错 def hehe(name): print(name) return hehe('laowang')
结果:
laowang
#关键字参数,不需要使用指定顺序 def name_age(name,age): print("姓名:",name) print("年龄:",age) return name_age(age="18",name='Mr.li')
结果:
姓名: Mr.li
年龄: 18
#默认参数,如不输入参数,则会使用默认参数输出 def name_ages(name='relax1949',age=24): print("姓名:",name) print("年龄:",age) return name_ages(name='alex') print('-----') name_ages(age = '26')
结果:
姓名: alex
年龄: 24
-----
姓名: relax1949
年龄: 26
#global全局变量 a = 10 def text(): global a #需要使用global关键字声明,引用局部变量 print(a) a = 123 print(a) text()
结果:
10
123
#不定长参数 def func(str,*arg,**kwargs): #分别为元素、元组、字典 print(str,arg,kwargs) func('chen1','chen2','chen3','chen4',name='relax1949',age='25') #结果分别为元素、元组、字典
结果:
chen1 ('chen2', 'chen3', 'chen4') {'name': 'relax1949', 'age': '25'}
#lambda匿名函数 gg = lambda x,y:x ** y print(gg(2,3))
结果:
8