Python18之函数定义及调用,注释
一、函数定义
def 函数名(形参1,形参2...):
函数体
return 返回值 (可以返回任何东西,一个值,一个变量,或是另一个函数的返回值,如果函数没有返回值,可以省略return语句)
二、函数文档概念
在Python中将函数体内首行字符串作为函数文档,字符串中对函数的功能和参数的含义进行说明,可以使用函数名加成员操作符跟上__doc__的形式返回这个字符串以备使用者查看,也可以通过help(函数名)形式直接打印除这个字符串
def function():
'这是函数文档说明,不是定义的字符串'
print("这是一首简单的小程序!") >>> print(function.__doc__)
这是函数文档说明,不是定义的字符串
>>> def function():
"""这是函数文档说明,不是定义的字符串"""
print("这是一首简单的小程序!")
>>> print(function.__doc__)
这是函数文档说明,不是定义的字符串 >>> def function():
"这是函数文档说明,不是定义的字符串"
print("这是一首简单的小程序!")
>>> print(function.__doc__)
这是函数文档说明,不是定义的字符串 >>> def function():
'这是函数文档说明,不是定义的字符串'
print("这是一首简单的小程序!")
>>> print(function.__doc__)
这是函数文档说明,不是定义的字符串 >>> def function():
"""这是函数文档说明,不是定义的字符串"""
print("这是一首简单的小程序!")
>>> help(function)
Help on function function in module __main__: function()
这是函数文档说明,不是定义的字符串 >>> def function():
'这是函数文档说明,不是定义的字符串'
print("这是一首简单的小程序!")
>>> help(function)
Help on function function in module __main__: function()
这是函数文档说明,不是定义的字符串
三、关键字参数
当函数定义时形参比较多时,调用函数时实参要与形参一一对应,所以这时我们可能会把实参和形参的顺序弄乱,所以,使用关键字参数可以有效地避免这一情况,调用时直接把实参值赋给相应的形参变量,这时候就不需要顺序一一对应了。
格式:函数名(形参2=实参2,形参1=实参1)
def function(name,action):
print("我的名字:%s"%name)
print("我会%s"%action) 未使用关键字参数:
function('跑','zz')
我的名字:跑
我会zz 使用关键字参数:
function(action='跑',name='zz')
我的名字:zz
我会跑
四、默认关键字参数
在函数定义时,我们给形参赋初值,这样在调用的时候,不赋实参,函数也可以运行
def function(name='柯珂柯珂',action='fly'):
print("我的名字:%s"%name)
print("我会%s"%action) >>> function()
我的名字:柯珂柯珂
我会fly
>>> function('zz','吃')
我的名字:zz
我会吃
五、收集参数
1、收集参数在函数定义时,在参数前面多加一个 *(星号),表示该参数变量是一个元组类型,;
2、当*不在所有参数的后面,不需要收集的参数,需要使用关键字指定,* 是不会收集带关键字的参数的;
3、当需要收集带关键字的参数时,可以在定义函数时,在形参的前面使用 **(双星号),这样收集的参数会作为字典类型
def function(*name,action):
print(name)
print("我会%s"%action) >>> function(1,2,3,4,5,6,action = 'fly')
(1, 2, 3, 4, 5, 6)
我会fly
>>> def function(**name):
print(name) >>> function(a = '柯盛涛',b = '柯珂柯珂',c = 12306)
{'a': '柯盛涛', 'b': '柯珂柯珂', 'c': 12306}
Python18之函数定义及调用,注释的更多相关文章
- Linux Shell函数定义与调用
一.Shell函数定义格式 shell函数定义格式,各部分说明如下: [ function ]等中括号括起来部分----表示可选(即可有可无) your_function_name部分----为函数名 ...
- MATLAB循环和函数定义,调用
格式不要括号,最后有end for 循环变量 = 表达式1:表 2:表 3 表1:初值 表2:步长 表3:终值 求圆周率:π/4=1 - 1/3 + 1/5 -1/7+...+(-1 ...
- JavaScript函数定义和调用 变量作用域
本文是笔者在看廖雪峰老师JavaScript教程时的个人总结 JavaScript中函数定义可以是这样的格式 function 函数名(参数) { 函数体 } 也可以是这样的格式 ...
- javascript、jQuery函数定义和调用方法
一.javascript 1.var aaa=function(){...} var 方式定义的函数,不能先调用函数,后声明,只能先声明函数,然后调用. 2.function aaa(){...} f ...
- PowerShell自定义函数定义及调用
PowerShell是一种命令集,也有自己的语法定义及函数.本文主要介绍如何自定义powershell函数及如何调用,当初在写PowerShell自定义函数的时候查阅了很多资料都没找到如何调用自定义函 ...
- python 函数定义及调用
1.什么是函数? 在程序中,函数就是具备某一功能的工具,事先将工具准备好即函数的定义:遇到应用场景拿来就用即函数的调用:函数必须遵循先定义后调用的原则 2.为什么要用函数 不用函数的问题是: 程序冗长 ...
- Shell 函数定义与调用
linux shell 可以用户定义函数,然后在 shell 脚本中可以随便调用. 以一个计算两数之和的函数为例: #! /bin/bash # 函数定义 sum(){ return $(($1+$2 ...
- 函数定义和调用 -------JavaScript
本文摘要:http://www.liaoxuefeng.com/ 定义函数 在JavaScript中,定义函数的方式如下: function abs(x) { if (x >= 0) { ret ...
- 3-12 Python函数定义与调用
Python 函数 函数概念 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.如print() range()函数,但你也可以自己创建函 ...
随机推荐
- SyntaxError: Non-ASCII character 'æ' in file csdn.py on line 7, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
错误信息: SyntaxError: Non-ASCII character , but no encoding declared; see http://python.org/dev/peps/pe ...
- 13.mysql数据库
1.mysql数据库建立 yum install mysql-server mysql -u root mysqladmin ...
- 2019-暑假作业-Java语言程序设计
本文于2017年创建,最后更新2019-07-16 任务列表 1.学会使用Markdown做笔记 本篇随笔就是使用的Markdown语法.养成做笔记的习惯! 参考资料: 极简MarkDown排版介绍( ...
- 【Java.Regex】使用正则表达式查找一个Java类中的成员函数
代码: import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; imp ...
- Java Web J2EE下的两大框架SSH和SSM对比
当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力.MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界 ...
- mac php7.2 安装mcrypt扩展
安装: brew install libmcrypt 下载mcrypt扩展源码 http://pecl.php.net/package/mcrypt 解压后 进入目录: phpize ./config ...
- 新检出普通web项目爬坑记【我】
新检出一个普通 web项目, 1.首先发现需要用到的一些代码包没有加到构建目录, 先加入构建: 2.然后发现项目大面积报错, 随便打开代码看下,发现是因为缺少jar包,因为报错的代码太多了,所以使用 ...
- 导出swagger2生成的文档
百度了好多篇用法,没法用.特此记录一下 一.下载项目 下载https://github.com/Swagger2Markup/spring-swagger2markup-demo下的项目,保存,注意文 ...
- 封装Email相关的操作
package com.opslab.util; import javax.activation.DataHandler;import javax.activation.DataSource;impo ...
- Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机
(1).虚拟化产品对比介绍 虚拟化技术有以下三种:仿真虚拟化,这是一种对系统硬件没有要求,但性能最低的虚拟化技术:半虚拟化,这是一种直接使用物理硬件,性能高,但需要修改内核的虚拟化技术:全虚拟化,这是 ...