码迷,mamicode.com
首页 > 编程语言 > 详细

Python函数相关

时间:2019-10-31 21:52:11      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:执行   列表   签名   进阶   传值   默认参数   多个参数   可变   字符   

使用函数的目的: 可读性强,复用性强

# 函数签名: 函数签名值得是函数名,参数个数和类型以及返回值类型

定义函数:

def 函数名:
    功能
    return "返回值"

 

return 返回值的几种情况详解

  没有返回值的情况:返回None

    1.不写 return;

    2.只写return;(结束一个函数的继续);

    3.return None;不常用;

  返回一个值:

    1.可以返回任何数据类型;

    2.只要返回就可以接受到;

    3.如果在一个程序中有多个return,那么只执行第一个;

  返回多个值:

    1.多个返回值用多个变量接受:有多少返回值就用多少个变量接受;

    2.多个返回值用一个变量接受:得到的是一个元祖;

 

函数参数的几种情况详解

  没有参数:

    定义函数和调用函数时括号里都不写内容;

  有一个参数:

    传什么就是什么;

  有多个参数:

    1.站在实参的角度上:

      1.按照位置传参;

      2.按照关键字传参;

      3.混着使用(必须先按着位置传参,在按照关键字传参;不能给一个变量传多个值);

    2.站在形参的角度上:

 

      1.位置参数:必须传,且有几个参数传几个值;

      2.默认参数:可以不传,如果不传就是驶入默认的参数,如果传入就使用传入的参数;在形参中 --- ‘形参‘=‘默认值‘;


    ***默认参数的陷阱:如果默认参数的值是一个可变数据类型,那么每一次调用函数的时候,如果不传值就公用这个数据类型的资源;默认参数可变数据类型只要不重新赋值,list指向的地址永远不变,切记切记!

    ***顺序:必须先定义位置参数,*args,后再定义默认参数,再写**kwargs;

 

动态参数解释

  可以接受任意个参数

 

  1.*args;# *args(args可以任意变换 习惯使用args) # 接受的是按照位置传参的值,组织成一个元祖;## 站在实参的角度上,给一个元祖加上*,就是将这个元祖按照顺序打散;

  2.**kwargs;# **kwargs(kwargs可以任意变换 习惯使用kwargs) # 接受的是按照关键字传参的值,组织成一个字典;## 站在实参的角度上,给一个字典加上**,就是将这个字典按照顺序打散;

 


 

函数的进阶

 

 


解包

如果列表中有3个元素,那么刚好可以分配给3个变量。除了列表对象可以解包之外,任何可迭代对象都支持解包,可迭代对象包括元组、字典、集合、字符串等;

  

Python函数相关

标签:执行   列表   签名   进阶   传值   默认参数   多个参数   可变   字符   

原文地址:https://www.cnblogs.com/binHome/p/11772555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!