Python函数的用法

#Python函数的使用

#定义一个无参函数
def func():
    print("This is a function!")

#调用一下函数
func()



#定义一个有参函数
def func2(message,host,type):
    print(f"Host {host} reported that {message},type={type}")

#调用一下函数
func2("Buffer OverFlow","192.168.1.2","5")
func2(message="Buffer Error",type="5",host="192.168.3.1")#以键值对的形式乱序调用



#定义一个默认参数函数
def func3(message,host,type="5"):
    print(f"Host {host} reported that {message},type={type}")

#缺省参数的情况下调用一下
func3("Input Error","127.0.0.1")
#func3("Input Error")#不满足基本参数个数2,会报错!



#定义一个可变长参数类型函数
def func4(*args):
    print(args)

#调用一下可变参数函数
func4('Hello','Earth')#传入一个2参(元组)
func4('Learn','To','Live')#传入一个3参(元组)
numbers = ['hello', 'again']
func4(numbers)#直接传入一个元组
func4(*numbers)#对元组进行转格式 传入

#定义一个关键词参数类型函数
def func5(message,**kwargs):
    print(f"message is {message}, other is {kwargs}")

#调用
func5("Error",level="Hello",Type="404")#自己指定元组类型插入


#定义一个有返回值的函数:费布拉切数列
def fib(num):
    if num==0:
        return 0
    elif num==1:
        return 1
    else:
        return fib(num-1)+fib(num-2)

#调用
print(fib(10))

#定义一个传入list的函数
def func6(list):
    print(f"The message is {list}")

#调用
func6(['Hello','Pet'])#传入一个list
func6(("2333",23,"56766"))#传入一个tuple


#函数运行的一个问题
def func7(lans=[]):
    lans.append("\n")
    return lans

#调用几次
print(func7())
print(func7())
#发现多次调用,lans并不会释放,而是多出来了\n
#可以这样更改

def func8(lans=None):
    if lans==None:
        lans=[]
    lans.append('\n')
    return lans

#调用几次
print(func8())
print(func8())

运行结果:

This is a function!
Host 192.168.1.2 reported that Buffer OverFlow,type=5
Host 192.168.3.1 reported that Buffer Error,type=5
Host 127.0.0.1 reported that Input Error,type=5
('Hello', 'Earth')
('Learn', 'To', 'Live')
(['hello', 'again'],)
('hello', 'again')
message is Error, other is {'level': 'Hello', 'Type': '404'}
55
The message is ['Hello', 'Pet']
The message is ('2333', 23, '56766')
['\n']
['\n', '\n']
['\n']
['\n']

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值