1.函数定义
格式:
def 函数名(参数1,参数2...):
代码
2.函数调用: 函数名调用即可
函数名(参数1,参数2...)
def discount(a,b):
c=a * b/10
return c
price=float(input("请输入价格: "))
discounts=float(input("请输入折扣: "))
r_price=discount(price,discounts)
print("物品的价格是: ",r_price)
3.函数参数(高级)
缺省参数
调用函数时,缺省参数的值如果没有传入,则被认为是默认值
def printinfo( name, age = 35 ):
# 打印任何传入的字符串
print( "Name: ", name)
print ("Age ", age)
printinfo(name="miki" )
printinfo( age=9,name="miki" )
不定长参数
不定长参数,声明时不会命名
格式:
def functionname([formal_args,] *var_args_tuple ):
"函数_文档字符串"
function_suite
return [expression]
加了星号(*)的变量名会存放所有未命名的变量参数
def printinfo( arg1, *vartuple ):
# 打印任何传入的参数
print ("输出: ")
print (arg1)
for var in vartuple:
print( var)
# 调用printinfo 函数
printinfo( 10 );
printinfo( 70, 60, 50 );
4.函数嵌套:一个函数内部调用另一个函数
5.匿名函数:
用lambda关键词能创建小型匿名函数。
这种函数得名于省略了用def声明函数的标准步骤
lambda函数格式:
lambda [arg1 [,arg2,.....argn]]:expression
sum = lambda arg1, arg2: arg1 + arg2
#调用sum函数
print ("Value of total : ", sum( 10, 20 ))
print ("Value of total : ", sum( 20, 20 ))
练习:阶乘!
def jiecheng(n):
ax=1
if (n==1):
ax=1
else:
for i in range(1,n+1):
ax=ax*i
return ax
temp=int(input("请输入一个整数:"))
result=jiecheng(temp)
print(result)