09-python基础-初始函数

09-python基础-初始函数

函数

定义:
将一段程序封装起来,以备用时只需
可以使代码形成一定的模块化.
规范

  • 函数定义必须以def开头,函数名,参数,冒号
  • 函数定义的下一行必须有缩进
  • 只定义会报错,写占位符pass,避免语法错误
def sumdata(a,b):
    print(a+b)
    pass #占位符
sumdata(7,5)   #函数的调用

对比:
a=7
b=5
print(a+b)
关于returnreturn之后的语句

def sumdata(a,b):
    #函数返回值return语句不是必须的,但是没有return就没有返回值。
    return a+b
    print("此句不执行,不可达语句")
print(sumdata(30,10))

函数中可以出现多个return吗?
#写一个函数,它可以返回任意数字的绝对值
#函数中,可以出现多个return,但必须位于不同的分支里面,否则后面的return无效

def jueduizhi(a):
    if a >=0:
        return a
    else:
        return -a
print(jueduizhi(-2))

return可以出现多个值吗?会以元组的形式返回每一个值.
#写一个函数可以返回某数的平方,三次方,平方根

def fun1(a):
    return a**2,a**3,a**0.5
    或者:
    return [a**2,a**3,a**0.5]   #此时这是一个返回值
print(fun1(4))

(16, 64, 2.0)

函数

函数的嵌套

def foo():
    def inner():
        print(123)
    return inner()     调用会被打印出来
foo()

函数的参数

def sumdata(a,b):   #a,b 形式参数,简称形参
    return a+b
print(sumdata(2,3) )      #实际参数,简称实参
print(sumdata(a=2,b=3)
print(sumdata(b=3,a=2)   当使用完整写法时,参数的顺序可以调换
print(sumdata(2,b-3)
错误写法
print(sumdata(a=2,3)

#间隔符 sep = ’ ', 终止符end = ‘\n’, file = None

print(1,2,3)
print(4)
1 2 3
4

函数的缺省值,当用户输入的时候,按照用户输入的为准
print(1,23,3,sep=’@’,end="")
print(“不换行”)
1@23@3不换行

关于参数:

def sumdata(a,b,c=100):
    return a+b+c
print(sumdata(10,20))
print(sumdata(10,20,80))
130
110

#可变长度参数,可以传入若干个参数

def sumdata(*args):
    return args
print(sumdata())  #一个空的元组
print(sumdata(22,2))
()
(22, 2)

*args和args的区别

def sumdata(a,*args):
    return (a,*args)  这块,不会多一层元组
# print(sumdata())  #一个空的元组
print(sumdata(22,[7,8],2,3,2,1))
(22, [7, 8], 2, 3, 2, 1)
def sumdata(a,*args):
    return (a,args)  # 这块无*.打印结果会多出一个*号,会多一层元组
# print(sumdata())  #一个空的元组
print(sumdata(22,[7,8],2,3,2,1))
(22, ([7, 8], 2, 3, 2, 1))

关键字参数:**kwargs ,它是一个字典,也可以是任意个值,但必须成对出现

def fun2(a,**kwargs):
    return a,kwargs
print(fun2(100,A=2,B=4,C="zifuchuan"))
print(fun2(100))
(100, {'A': 2, 'B': 4, 'C': 'zifuchuan'})
(100, {})

如果有**kwargs,它必须位于 *args的后面

def fun3(a,*args,**kwargs):
    return a,args,kwargs
print(fun3(3,4,5,6,a2=22))
(3, (4, 5, 6), {'a2': 22})

对象的方法

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值