百度领航团零基础Python学习笔记 【函数基础】

定义一个函数

def关键词开头,后接函数名和小括号,命名规划和c语言一致

def 函数名(参数列表):
    函数体

实例

def area(width, height):
    return width * height
area(12,2)
# 24

参数传递

由于python中万物皆对象,不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。
这和c,javascript很大的差别

必需参数

参数的数量和顺序需要必须正确

关键字参数

关键字参数可以避免参数的顺序出错

#可写函数说明
def printinfo( name, age ):
   "打印任何传入的字符串"
   print ("名字: ", name)
   print ("年龄: ", age)
   return

#调用printinfo函数
printinfo( age=50, name="runoob" )

默认参数

无话可说

不定长参数

def printinfo( arg1, *vartuple ):
   "打印任何传入的参数"
   print ("输出: ")
   print (arg1)
   print (vartuple)
 
# 调用printinfo 函数
printinfo( 70, 60, 50 )

实际上和ES6的剩余参数相似,只是多余的参数用元组保存

还有另一种形式

def printinfo( arg1, **vardict ):
   "打印任何传入的参数"
   print ("输出: ")
   print (arg1)
   print (vardict)
 
# 调用printinfo 函数
printinfo(1, a=2,b=3)

导入形式不是元组而是字典了

还能单独一个*

def f(a,b,*,c):
    return a+b+c

暂时不知这有什么用,传参时c还必须用关键词参数

匿名函数

语法:

lambda [arg1 [,arg2,.....argn]]:expression

例子:

# 可写函数说明
sum = lambda arg1, arg2: arg1 + arg2
 
# 调用sum函数
print ("相加后的值为 : ", sum( 10, 20 ))
print ("相加后的值为 : ", sum( 20, 20 ))

强制位置参数

python3.8中使用/设置强制位置参数
下面例子中a,b必须用对应位置的参数

def f(a, b, /, c, d, *, e, f):
    print(a, b, c, d, e, f)
f(10, 20, 30, d=40, e=50, f=60)       #正确
f(10, b=20, c=30, d=40, e=50, f=60)   # b 不能使用关键字参数的形式
f(10, 20, 30, 40, 50, f=60)           # e 必须使用关键字参数的形式

return

不带参数值的return语句返回None

附上在线学习的地址:https://aistudio.baidu.com/aistudio/course/introduce/7073

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值