python之函数

本文深入探讨了Python中的函数概念,包括一般函数、过程、*args和**kwargs参数、全局与局部变量、递归、匿名函数及高阶函数。通过具体实例,讲解了不同类型的函数用法及其特性。

一般的函数:

 1 # Author:yebo
 2 
 3 #函数:
 4 def func1():
 5     """testing 1"""
 6     print("in the func1")
 7     return 0
 8 
 9 #过程:
10 def func2():
11     """testing 2"""
12     print("in the func2")   #在python中:过程就是没有返回值的函数
13 
14 x = func1()
15 y = func2()
16 
17 print("from func1 return is %s" %x)
18 print("from func2 return is %s" %y)

*args和 **kwargs:

1 # Author:yebo
2 
3 def func(arg1, arg2, arg3, *args, **kwargs):   # *args把多的变成tuple,**kwargs则是转成dict
4     print(arg1, arg2, arg3, args, kwargs)   #注意print和def中有无*的区别
5 
6 func(3,4,5,6,7,8,9,10 ,11,12,13,14,15,16,name = 'yebo',age = 21)

全局变量与局部变量:

 1 # Author:yebo
 2 
 3 school_name = "zhounan"
 4 names = ["yebo", "shuzzz", "yomi"]
 5 
 6 def change_name():
 7     school_name = "sues"
 8     names[2] = "baby7"
 9     print(school_name)
10 
11 change_name()      #局部变量
12 print(school_name)      #全局变量
13 print(names)   #全局变量如果是列表字典这类复杂形势,函数中则可以改动

递归:

1 # Author:yebo
2 
3 def calc(n):
4     print(n)
5     if int(n/2) > 0:
6         return calc(int(n/2))
7     print("--->",n)
8 
9 calc(10)

 匿名函数:

1 # Author:yebo
2 
3 calc = lambda x:x*3
4 
5 print(calc(3))

 高阶函数:

 1 # Author:yebo
 2 
 3 import time
 4 
 5 def time_calc(func):
 6     start_time = time.time()
 7     func()
 8     stop_time = time.time()
 9     print("The run time is %s" % (stop_time - start_time))
10 
11 def bar():
12     time.sleep(3)
13 
14 time_calc(bar)

 

转载于:https://www.cnblogs.com/SongjiangCyclone/p/9490459.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值