首页 >后端开发 >Python教程 >详解Python函数的使用

详解Python函数的使用

高洛峰
高洛峰原创
2017-03-23 14:33:111487浏览

1.函数的基本定义


def 函数名称(参数)
         执行语        
         return 返回值

def : 定义函数的关键字;

函数名称:顾名思义,就是函数的名字,可以用来调用函数,不能使用关键字来命名,做好是用这个函数的功能的英文名命名,可以采用驼峰法与下划线法;

参数:用来给函数提供数据,有形参和实参的区分;

执行语句:也叫函数体,用来进行一系列的逻辑运算;

返回值:执行完函数后,返回给调用者的数据,默认为None,所以没有返回值时,可以不写return。

 

2.函数的普通参数

最直接的一对一关系的参数,如:


def fun_ex(a,b):            #a,b是函数fun_ex的形式参数,也叫形参
    sum=a+b    print('sum =',sum)
fun_ex(1,3)                  #1,3是函数fun_ex的实际参数,也叫实参#运行结果sum = 4

 

3.函数的默认参数

给参数定义一个默认值,如果调用函数时,没有给指定参数,则函数使用默认参数,默认参数需要放在参数列表的最后,如:


def fun_ex(a,b=6):    #默认参数放在参数列表最后,如b=6只能在a后面
    sum=a+b    print('sum =',sum)
fun_ex(1,3)
fun_ex(1)#运行结果sum = 4sum = 7

 

4.函数的动态参数

不需要指定参数是元组或字典,函数自动把它转换成元组或字典,如:

#转换成元组的动态参数形式,接受的参数需要是可以转成元组的形式,就是类元组形式的数据,如数值,列表,元组。

def func(*args):
    print(args,type(args))

func(1,2,3,4,5)

date_ex1=('a','b','c','d')
func(*date_ex1)

#运行结果
(1, 2, 3, 4, 5) <class &#39;tuple&#39;>
(&#39;a&#39;, &#39;b&#39;, &#39;c&#39;, &#39;d&#39;) <class &#39;tuple&#39;>

动态参数形式一
#转换成字典的动态参数形式,接收的参数要是能转换成字典形式的,就是类字典形式的数据,如键值对,字典

def func(**kwargs):
    print(kwargs,type(kwargs))

func(a=11,b=22)

date_ex2={&#39;a&#39;:111,&#39;b&#39;:222}
func(**date_ex2)

#运行结果
{&#39;b&#39;: 22, &#39;a&#39;: 11} <class &#39;dict&#39;>
{&#39;b&#39;: 222, &#39;a&#39;: 111} <class &#39;dict&#39;>

动态参数形式二
#根据传的参数转换成元组和字典的动态参数形式,接收的参数可以是任何形式。
def func(*args,**kwargs):
    print(args, type(args))
    print(kwargs,type(kwargs))

func(123,321,a=999,b=666)

date_ex3={&#39;a&#39;:123,&#39;b&#39;:321}
func(**date_ex3)

#运行结果
(123, 321) <class &#39;tuple&#39;>
{&#39;b&#39;: 666, &#39;a&#39;: 999} <class &#39;dict&#39;>
() <class &#39;tuple&#39;>
{&#39;b&#39;: 321, &#39;a&#39;: 123} <class &#39;dict&#39;>

动态参数形式三

5.函数的返回值

运行一个函数,一般都需要从中得到某个信息,这时就需要使用return来获取返回值,如:

def fun_ex(a,b):
    sum=a+b
    return sum      #返回sum值

re=fun_ex(1,3)   
print(&#39;sum =&#39;,re)

#运行结果
sum = 4

 

6.lambda表达式

用来表达简单的函数,如:

#普通方法定义函数
def sum(a,b):
    return a+b
sum=sum(1,2)
print(sum)

#lambda表达式定义函数
myLambda = lambda a,b : a+b
sum=myLambda(2,3)
print(sum)

#运行结果
5


7.内置函数

 1)内置函数列表

    Built-in Functions    
<span class="pre">abs()</span> <span class="pre">dict()</span> <span class="pre">help()</span> <span class="pre">min()</span> <span class="pre">setattr()</span>
<span class="pre">all()</span> <span class="pre">dir()</span> <span class="pre">hex()</span> <span class="pre">next()</span> <span class="pre">slice()</span>
<span class="pre">any()</span> <span class="pre">pmod()</span> <span class="pre">id()</span> <span class="pre">object()</span> <span class="pre">sorted()</span>
<span class="pre">ascii()</span> <span class="pre">enumerate()</span> <span class="pre">input()</span> <span class="pre">oct()</span> <span class="pre">staticmethod()</span>
<span class="pre">bin()</span> <span class="pre">eval()</span> <span class="pre">int()</span> <span class="pre">open()</span> <span class="pre">str()</span>
<span class="pre">bool()</span> <span class="pre">exec()</span> <span class="pre">isinstance()</span> <span class="pre">ord()</span> <span class="pre">sum()</span>
<span class="pre">bytearray()</span> <span class="pre">filter()</span> <span class="pre">issubclass()</span> <span class="pre">pow()</span> <span class="pre">super()</span>
<span class="pre">bytes()</span> <span class="pre">float()</span> <span class="pre">iter()</span> <span class="pre">print()</span> <span class="pre">tuple()</span>
<span class="pre">callable()</span> <span class="pre">format()</span> <span class="pre">len()</span> <span class="pre">property()</span> <span class="pre">type()</span>
<span class="pre">chr()</span> <span class="pre">frozenset()</span> <span class="pre">list()</span> <span class="pre">range()</span> <span class="pre">vars()</span>
<span class="pre">classmethod()</span> <span class="pre">getattr()</span> <span class="pre">locals()</span> <span class="pre">repr()</span> <span class="pre">zip()</span>
<span class="pre">compile()</span> <span class="pre">globals()</span> <span class="pre">map()</span> <span class="pre">reversed()</span> <span class="pre">__import__()</span>
<span class="pre">complex()</span> <span class="pre">hasattr()</span> <span class="pre">max()</span> <span class="pre">round()</span>  
<span class="pre">delattr()</span> <span class="pre">hash()</span> <span class="pre">memoryview()</span> <span class="pre">set()</span>  

 

以上是详解Python函数的使用 的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn