'''
函数:
1、减少代码重用性
2、易维护
3、可扩展性强
4、类型function

定义函数:
def 函数变量名():

函数的调用:
1、函数名加括号
2、函数如果没被调用,不会去执行函数内部的代码

函数的返回值:
1、函数如果没有return 默认返回None(add()=None)
2、函数通过 关键字 return 返回 值
3、函数执行时,遇到return,退出函数的执行,并返回结果
4、函数 return 能 return多个值, 把多个值 组成一个 元祖返回

l = [1,2,2,22,2,2,2,]

def add():
s = 0
return [1, 2, 3, 4,5 ,6 , 7, format, False, {}, (), [], "", None]

c = add()
'''

'''
函数的参数:
形参:
位置参数:
1、函数定义位置参数后,调用函数时,有几个位置参数,就得传几个实参
2、位置参数与实参 一一对应

默认参数(给予初始值):
1、函数在定义形参时,指定参数的 值 叫默认参数
2、调用函数时,默认参数可以不用传
3、调用函数时,如果传入 值 给默认参数,那默认参数的值 就是 传入的 值
4、默认参数必须在 位置参数的右边(实参中也一样,但是顺序可变。如:)

def func(x,y,z,l):
return(x+y+z+l)
print(func(1,2,l=3,z=8)) 打印结果为14

可变长参数:
*args:
1、能接受任意类型参数,把接收的参数组成一个元祖()

def func(x,*args): 打印结果:
print(x) 1
print(args) ([1,2,3],)
func(1,[1,2,3])

2、*iterable(能被for循环的对象)

*[1,2,3], 会把列表for循环后,把循环出的参数一个个的给到args,如下:
def func(x,*args): 打印结果:
print(x) 1
print(args) (1,2,3)
func(1,*[1,2,3])

3、调用函数时,args可以不用传(args默认为元祖())
def func(x,*args): 打印结果为:
print(x) 1
print(args) ()
func(1)
**kwargs:
1、把接收的参数组成一个字典{}(一般参数为赋值表达式)

def func(x,**kwargs): 打印结果为:
print(args) {'c': 3, 'b': 2, 'a': 1}
func(1,a=1,b=2,c=3)

2、**{"2":2, "3":3, "hello":[]} 循环字典的 key value,组成键值对 给到kwargs

def func(x,**kwargs): 打印结果为:
print(kwargs) {'2': 2, '3': 3, 'hello': []}
func(1,**{"2":2, "3":3, "hello":[]})

3、调用函数时,kwargs可以不用传(默认为{})

def func(x,**kwargs): 打印结果为:
print(x) 1
print(kwargs) {}
func(1)

'''

python中的函数def和函数的参数的更多相关文章

  1. Python中的__init__()和__call__()函数

    Python中的__init__()和__call__()函数 在Python的class中有一些函数往往具有特殊的意义.__init__()和__call__()就是class很有用的两类特殊的函数 ...

  2. python中实现延时回调普通函数示例代码

    python中实现延时回调普通函数示例代码 这篇文章主要给大家介绍了关于python中实现延时回调普通函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的 ...

  3. Python中的startswith和endswith函数使用实例

    Python中的startswith和endswith函数使用实例 在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数 ...

  4. Python中的"缝合器"zip函数:将多个可迭代对象组合成一个迭代器

    zip函数将参数中多个可迭代对象中相同序号的元素取出组合成一个元组作为输出列表的一个同样序号的元素,即输出列表的每个元素是一个元组,该元组的元素来源于参数中每个迭代对象的对应序号的元素. 具体可参考: ...

  5. python中如何单独测试一个函数的作用

    #!/usr/bin/python import os def get_env_varible(key): return os.getenv(key) if __name__ == '__main__ ...

  6. python中68个内置函数的总结

    内置函数 内置函数就是python给你提供的, 拿来直接用的函数, 比如print., input等. 截止到python版本3.6.2 python一共提供了68个内置函数. #68个内置函数 # ...

  7. python中进程池和回调函数

    一.数据共享 1.进程间的通信应该尽量避免共享数据的方式 2.进程间的数据是独立的,可以借助队列或管道实现通信,二者都是基于消息传递的. 虽然进程间数据独立,但可以用过Manager实现数据共享,事实 ...

  8. python 中的内置高级函数

    1.map(function,iterable) map是把迭代对象依次进行函数运算,并返回. 例子: map返回的十分map对象,需要list()函数转化. 2.exec()函数 执行储存在字符串或 ...

  9. python中常见的内置函数

    map #自定义map函数 def map_test(func, list): res = [] for item in list: res.append(func(item)) return res ...

随机推荐

  1. .Netcore 2.0 Ocelot Api网关教程(3)- 路由聚合

    在实际的应用当中,经常会遇到同一个操作要请求多个api来执行.这里先假设一个应用场景:通过姓名获取一个人的个人信息(性别.年龄),而获取每种个人信息都要调用不同的api,难道要依次调用吗?在Ocelo ...

  2. Android OKHttp 可能你从来没用过的拦截器 【实用推荐】

    前言 在平时开发中,你有没有下面这样的困扰呢? 场景一 明明是服务端的接口数据错误,而QA(测试)第一个找到的可能是客户端开发的你,为什么这个页面出现错误了? 而作为客户端开发的你,可能要拿出测试机连 ...

  3. python3速查参考- python基础 2 -> if语句应用 + while循环应用

    if语句应用之——求最大值 """ 求三个数字中的最大值,并打印出来 """ a = int(input("a:")) ...

  4. MBProgressHUD长时间加载无法取消的解决方法

    使用MBProgressHUD时,加载网路数据,或者等待webview加载完毕,长时间的等待导致体验不佳,这时候希望点击屏幕取消加载动画效果: // MBProgressHUD.h @protocol ...

  5. ASP.NET Core 入门笔记6,ASP.NET Core MVC 视图传值入门

    摘抄自:https://www.cnblogs.com/ken-io/p/aspnet-core-tutorial-mvc-view-renderdata.html 如有侵权请告知 一.前言 1.本教 ...

  6. IntelliJ IDEA入门之常用配置以及问题解决(持续更新中)

    软件版本: IntelliJ IDEA 2019.1.1(Ultimate Edition) 运行环境: JDK1.8, Tomcat8.0, Maven3.6 我们在学习新的无论是jar包, 框架, ...

  7. 基于.NET架构的树形动态报表设计与应用

    在一些统计报表中,利用树形结构报表来实现维度钻取功能是十分常见的.通过逐级钻取,可以快速查看更细粒度的指标数据,如项目施工进度报告等. 使用葡萄城报表控件——ActiveReports ,即可轻松设计 ...

  8. 函数try{}

    语法 函数try块是一种函数体的替代语法形式,是函数定义的一部分 try构造函数初始化器 复合语句 处理块序列 (1)构造函数初始化器 - 成员初始化器列表,只在构造函数允许 (2)复合语句 - 花括 ...

  9. NOIP模拟赛 打铁的匠 题解

    [问题描述] Mark Douglas是一名优秀的锻造师.与他优秀的锻造水平不相符,他非常穷,以至于很多好刀都因为缺少素材缺少资金无法打造. Mark把他有能力锻造的所有n种刀建成了一棵锻造树,除了第 ...

  10. PAT B1022 D进制的A+B

    课本AC代码 #include <cstdio> int main() { int a, b, d; scanf("%d%d%d", &a, &b, & ...