函数初识【第十一篇】

函数初识

函数是一组操作的集合,并赋予它一个名字。你已经使用过许多 Python 内置的函数,例如 string.title()list.sort() 。我们也可以定义自己的函数,它们可以“教导” Python 作一些新的行为

定义一个函数

  • 使用关键字 def 告诉 Python 你将要定义一个函数。
  • 给你的函数起一个名字。函数名应当能表明函数是干什么的。
  • 给函数需要的数据起名称。

? 它们是变量名,而且只在函数里用。

? 这些名称被称为函数的参数(arguments

  • 确保函数的定义以冒号结束。
  • 在函数内部,写下任意你想要的代码。

1.函数的作用

  1. 函数能够大量的减少重复代码
  2. 函数能够提高重用性
  3. 函数就是对代码进行了一层封装

2.函数的基本结构

def 函数名(参数):
    函数体

3.函数的调用

函数名()

函数名的作用

  1. 调用函数
  2. 接收函数的返回值
  3. 返回值返回给调用者
  4. 不管在什么位置只要有函数名(),就是调用该函数

4.函数的返回值

return

  1. return : 不写return是返回None 写的return没写值返回的还是None
  2. return : 能够终止当前这个函数,并且return下方的代码不执行
  3. return : 可以返回Python中任意对象
  4. return : 返回多个对象时,以元组的形式接收

5.函数的参数

  1. 形参(以下按参数优先级排列)

    位置形参,动态位置形参,默认值形参,动态关键字形参

  2. 实参

    位置实参,关键字实参

  3. 动态参数:
    动态位置参数 -- *args, 接收多余的位置参数 ,以元组的形式显示
    动态关键字参数 -- **kwargs, 接收多余的关键字参数, 以字典的形式显示
# 示例
# 位置传参
def d(a, b):
    print(a, b)
d(2, 3)

# 关键字传参
def d(a, b):
    print(a, b)
d(b=2, a=3)

# 混合传参
def d(a, b, c=10):
    print(a, b, c)
d(2, 3)

# 动态参数
def func(*args,**kwargs):
    print(args)
    print(kwargs)
func(1,2,3,4,a = 1, b = 2)

# 综合
def func(a,b,c,*args,**kwargs):
    print(a,b,c)
    print(args)
    print(kwargs)
func(1,2,3,4,cc = 1, bb = 2)

6.函数名的第一对象及使用

  1. 函数名可以当作值被赋值
  2. 函数名可以当作另一个函数的参数
  3. 函数名可以当作另一个函数的返回值
  4. 函数名可以当作容器中的元素

原文地址:https://www.cnblogs.com/tianming66/p/11756336.html

时间: 2024-10-29 08:19:16

函数初识【第十一篇】的相关文章

秒杀多线程第十一篇 读者写者问题

与上一篇<秒杀多线程第十篇 生产者消费者问题>的生产者消费者问题一样,读者写者也是一个非常著名的同步问题.读者写者问题描述非常简单,有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者在读文件时写者也不去能写文件. 上面是读者写者问题示意图,类似于生产者消费者问题的分析过程,首先来找找哪些是属于“等待”情况. 第一.写者要等到没有读者时才能去写文件. 第二.所有读者要等待写者完成写文件后才能去读文件. 找完“等待”情况后,再看看有没有要互斥访问的资源.由

Python开发【第二十一篇】:Web框架之Django【基础】

Python开发[第二十一篇]:Web框架之Django[基础] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. 基本配置 一.创建django程序 终端命令:django-a

转---秒杀多线程第十一篇 读者写者问题

与上一篇<秒杀多线程第十篇 生产者消费者问题>的生产者消费者问题一样,读者写者也是一个非常著名的同步问题.读者写者问题描述非常简单,有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者在读文件时写者也不去能写文件. 上面是读者写者问题示意图,类似于生产者消费者问题的分析过程,首先来找找哪些是属于“等待”情况. 第一.写者要等到没有读者时才能去写文件. 第二.所有读者要等待写者完成写文件后才能去读文件. 找完“等待”情况后,再看看有没有要互斥访问的资源.由

SQL Server 索引 之 书签查找 &lt;第十一篇&gt;

一.书签查找的概念 书签可以帮助SQL Server快速从非聚集索引条目导向到对应的行,其实这东西几句话我就能说明白. 如果表有聚集索引(区段结构),那么书签就是从非聚集索引找到聚集索引后,利用聚集索引定位到数据.此处的书签就是聚集索引.如果表没有聚集索引(堆结构).那么扫描非聚集索引后,通过RID定位到数据,那么此处书签就是RID. 所谓的书签查找,就是通过聚集索引,然后利用聚集索引或RID定位到数据. 不论表示堆结构还是区段结构,数据的存放都是数据库文件的某文件->某页->某行,因此定位数

第二十一篇 生命的全景

第二十一篇  生命的全景 生命对于我们来讲非常的熟悉,我们身边就有形形色色的生命,我们所生活的这个空间就是生命的空间.然而,就是我们习以为常的生命,却蕴含着极其广泛的意义和无穷的奥秘.就目前我们在宇宙中的能力而言,还无法做到站在生命空间之上的高度去总览全局,还无法对生命进行全面地概括与剖析. 如今,凭我们小宇宙家族现阶段的能力,还没有办法了解生命全部的奥秘,但是,随着我们对生命的不断探索,会有越来越多的生命奥秘被我们认知. 虽说我们对生命的了解还很有局限,但是我们目前的认知水平已经可以探知到:生

第十一篇 Integration Services:日志记录

本篇文章是Integration Services系列的第十一篇,详细内容请参考原文. 简介在前一篇,我们讨论了事件行为.我们分享了操纵事件冒泡默认行为的方法,介绍了父子模式.在这一篇,我们会配置SSIS内置日志记录.我们会演示简单和高级日志配置,保存和查看日志配置,生成自定义日志消息.SSIS任务事件打开Precedence.dtsx包.你的控制流面板应该如图11.1所示:图11.1在第九篇和第十篇,我们关注在序列容器1.我们在Script Task 4和序列容器1上创建了OnError事件处

第十一篇 SQL Server安全审核

本篇文章是SQL Server安全系列的第十一篇,详细内容请参考原文. SQL Server审核SQL Server审核是指你可以在数据库或服务器实例监控事件.审核日志包含你选择捕获的事件的列表,在服务器上生成数据库和服务器对象.主体和操作的活动记录.你几乎可以捕获任何发生的事情的数据,包括成功和不成功的登录,读.更新.删除的数据,管理任务,以及更多.审核可以深入到数据库和服务器.这似乎有点奇怪存在办法回头追溯那些已经发生的事件.但审核日志往往是你用于检测攻击的第一和最佳的资源,特别是当攻击只探

解剖SQLSERVER 第十一篇 对SQLSERVER的多个版本进行自动化测试(译)

原文:解剖SQLSERVER 第十一篇 对SQLSERVER的多个版本进行自动化测试(译) 解剖SQLSERVER 第十一篇    对SQLSERVER的多个版本进行自动化测试(译) http://improve.dk/automated-testing-of-orcamdf-against-multiple-sql-server-versions/ 自从我发布了OrcaMDF Studio,我已经意识到SQL2005和SQL2008之间的一些系统表的差异. 这些差异导致OrcaMDF 解析失败

第二十一篇:基?于?W?D?M?模?型?的?A?V?S?t?r?e?a?m?驱?动?架?构?研?究

基?于?W?D?M?模?型?的?A?V?S?t?r?e?a?m?驱?动?架?构?研? 这篇论文2006年早就发表, 与当时开发这个驱动正好差不多的时间. 最近实际项目需要, 又回过头来将AVStream中的主要框架列举一下. 整个框架由: KSDevice KSFilter KSPin所构成 KSDevice负责了PNP相关的DISPATCH, 如START, STOP, ADD, REMOVE KSFilter构成软件AVSTREAM设备的DISPATCH, 这就是所谓的FILTER CENT