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()函数,但你也可以自己创建函 ...
随机推荐
- 解决tecplot中壁面速度不为0的问题
当直接将fluent的.cas文件和.dat文件导入tecplot中进行后处理的时候,我们会发现,壁面速度不为0的情况(见上图). 出现这样问题的原因为:fluent的计算数据是存储在每个单元的中心位 ...
- ubuntu之路——day11.3 不匹配数据划分的偏差和方差
在11.2中,我们提到了一种数据划分的方法,那么怎么衡量这种数据划分方法中的误差呢? 来看一个例子:有20w条各种领域的语音识别数据,2w条汽车语音定位数据 train+dev+test,其中trai ...
- 第十四周助教工作总结——NWNU李泓毅
助教博客链接:https://www.cnblogs.com/NWNU-LHY/ 本次作业的要求:团队项目需求改进与系统设计:https://www.cnblogs.com/nwnu-daizh/p/ ...
- C/C++ #define的作用域
#define #define macro的作用域有点类似于C/C++全局静态变量 编译器处理宏的时机是预处理阶段 编译器按文本顺序处理 遇到宏时就定义一个宏变量 假设这种情况 void test() ...
- java调用jni oci接口宕机原因排查
调用最简单的JNI没有出错,但是涉及到OCI时就会异常退出,分析后基本确定是OCI 11g中的signal所致,参考ora-24550 signo=6 signo=11解决. 但是这个相同的so库直接 ...
- nginx 80 下的一个路径 到 8888
# For more information on configuration, see:# * Official English Documentation: http://nginx.org/en ...
- 目标检测标注工具labelImg安装及使用
目标检测中,原始图片的标注过程是非常重要的,它的作用是在原始图像中标注目标物体位置并对每张图片生成相应的xml文件表示目标标准框的位置.本文介绍一款使用方便且能够标注多类别并能直接生成xml文件的标注 ...
- git commit之后,撤销 commit
写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 可以执行如下命令 ...
- java获取全部子类或接口的全部实现
在JAVA中,获取一个类的全部父类是比较简单的,只需要通过反射(Class的getSuperclass()方法)即可.然而,如果想获得一个类的所有子类,或者获得实现某一个接口的所有实现类,相对比较麻烦 ...
- [译]如何在GitHub仓库创建一个标签tag, 并推送到远程分支?
问: 我在GitHub上有一个仓库,我需要给他打个tag.我在shell打了tag,但是在Github上没有显示出来.我还要做其他什么么? 我在shell中使用的命令是: git tag 2.0 当我 ...