一 函数的定义:
对功能和动作的封装和定义.
二 函数的格式:
def 函数名(形参列表): 函数名就是变量名:规则就是变量的规则
函数体(return)
ret = 函数名(实参列表)
三 函数的返回值:
函数结束执行后给调用方的结果
return,只要执行到return 函数的本次调用就会被停止
1.如果函数不写return, 没有返回值。 接收到的是None
2.写了return。 return后面什么都不写或者return后面的是None. 返回None
3.return 一个值。 返回一个结果
4.return 值,值,值 返回多个值。结果是元组
列子: 下面里面可以有return,也可没有,有的话只能写一个return,
def learn ():
print("学习物理")
print("学习化学")
# return "成绩50" #打印score 此时不会有 学习生物和学习语文
print("学习生物")
print("学习语文")
# return "成绩90分","成绩91","成绩95" #此时返回的score为一个元祖("成绩90分","成绩91","成绩95")
return #,可以不跟值,此时返回为None
score = learn()
# learn()
print(score)
四函数的参数:
参数: 函数在调用的时候给函数传递的信息 形参: 在函数声明的位置的变量
实参: 在函数调用的时候给出的具体的值 传参: 在函数调用的过程中把实参赋值给形参的过程.
实参:
1. 位置参数. 按照位置给形参传递信息
2. 关键字参数. 按照形参的名字给参数传递信息
3. 混合参数. 先位置后关键字
形参:
1. 位置参数
2. 默认值参数, 必须写在位置参数后面
3. 动态参数
例如:
def yue(tools): # 在函数声明的位置。 给出来的参数叫形参。 形式上的一个参数. 用一个变量来表示
print("拿出手机")
print("打开%s" % tools)
print("找一找心怡的对方.")
print("出来吃吃饭")
print("唱唱歌")
print("跳跳广场舞")
# 在函数调用的时候。把实参的值赋值给形参的过程叫传参
yue("微信") # 在函数调用的地方给出的具体的值。 参数叫实参. 实际参数
yue("陌陌")
yue("探探")
1实参的列子:
1.位置参数: #按照位置给形参赋值
def food(good_food,nogood_food,drink):
print("我要吃",good_food,nogood_food,drink)
food("木须肉盖饭","粥","可口可乐") #我要吃 木须肉盖饭 粥 可口可乐
2.关键字参数: 按照形参的名字给参数赋值
def food(good_food,nogood_food,drink):
print("我要吃",good_food,nogood_food,drink)
food(good_food="木须肉盖饭",drink="可口可乐",nogood_food="粥")#我要吃 木须肉盖饭 粥 可口可乐
3.混合参数:#位置参数必须放在前面,关键字参数放在后面
def food(good_food,nogood_food,drink):
print("我要吃",good_food,nogood_food,drink)
food(drink="木须肉盖饭","可口可乐","粥") #错误,drink 必须放在后面
2形参的列子:
1.位置参数: 按照位置声明参数,和实参一样
def information(name,age,sex):
print(name,age,sex)
information("王以太","29","女")
information("张甲乙","1","女")
information("张旭","29","男")
information("妈妈","43","女")
2.默认值参数: 给参数传递值的时候, 不给值, 默认值起作用. 保证你至少有个值能用.给值得话,默认值不起作用.顺序: 位置参数必须放在前面。 默认值参数必须放在后面.
def information(name,age,sex="女"):
print(name,age,sex)
information("王以太","29",)
information("张甲乙","1",)
information("张旭","29","男")
information("妈妈","43",) 此时的结果和1位置参数的结果一致,使用于大多情况一致的输入,特殊的单独处理即可.
3.动态参数: 动态参数,用于参数不确定时用.
格式: def fun (*args)
fun(args)
列子1.假如参数不确定时,如下的列子,每人饭量不一样,吃的种类不一样,此时用到动态传参.
def fun(*food): #*表示的是不定参数,可以传递任意个信息,参数名称还是food,且接收到的信息为元祖()
print("我要吃",food)
fun("米饭") #*表示位置参数的动态传参 结果为我要吃 ('米饭',)
fun("一锅米饭","一箱辣条","一桶方便面","可口可乐")#我要吃 ('一锅米饭', '一箱辣条', '一桶方便面', '可口可乐')
fun ("一碗米饭","辣条","雪碧") #结果为我要吃 ('一碗米饭', '辣条', '雪碧')
列子2.动态参数必须在位置参数后.
def fun (*food,a,b):
print("我要吃",food,a,b)
fun("苹果","梨子","香蕉") #此时程序会报错,全被food接收了,a和b永远接收不到参数.
def fun (a,b,*food):
print("我要吃",a,b,food)
fun("苹果","梨子","香蕉","橘子") #我要吃 苹果 梨子 ('香蕉', '橘子')

python 之函数的更多相关文章

  1. python的函数

    函数一词起源于数学,但是在编程中的函数和数学中的有很大不同.编程中的函数式组织好的,可重复使用的,用于实现单一功能或相关联功能的代码块. 我们在学习过程中已经使用过一些python内建的函数,如pri ...

  2. python strip()函数 介绍

    python strip()函数 介绍,需要的朋友可以参考一下   函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm)        删除s字符串中开头.结尾处,位于 rm删除 ...

  3. python split()函数

    Python split()函数 函数原型: split([char][, num])默认用空格分割,参数char为分割字符,num为分割次数,即分割成(num+1)个字符串 1.按某一个字符分割. ...

  4. Python数学函数

    1.Python数学函数 1.abs(x):取绝对值,内建函数 2.math.ceil(x):向上取整,在math模块中 3.cmp(x,y):如果 x < y ,返回-1:如果 x == y ...

  5. Python回调函数用法实例详解

    本文实例讲述了Python回调函数用法.分享给大家供大家参考.具体分析如下: 一.百度百科上对回调函数的解释: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函 ...

  6. Python之函数与变量

    本节内容 函数介绍及其作用 函数的定义与调用 函数的参数说明 全局变量与局部变量 值传递和引用传递 一.函数的介绍及其作用 编程语言中的函数与数学中的函数是有区别的:数学中的函数有参数(输入),就会有 ...

  7. Python基础-函数篇

    本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数  函数与函数式编程 1.面向对象: 华山派-- ...

  8. 【C++实现python字符串函数库】strip、lstrip、rstrip方法

    [C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...

  9. 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith

    [C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...

  10. 【C++实现python字符串函数库】一:分割函数:split、rsplit

    [C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...

随机推荐

  1. 3.storm-starter打包在storm集群上运行

    1.使用maven或者其他打包工具将storm-starter打成jar包 2.请将jar包用解压工具打开在根目录下找到defaults.yaml文件并将其删除不然到时会报有multiply defa ...

  2. 最新机动车行驶证模板PSD可编辑分层文件下载

    机动车行驶证PSD模板下载地址: http://www.qijieworld.com/thread-1834752-1-1.html 模板为psd格式,内容可编辑修改,需使用 Photoshop CS ...

  3. vue+mock.js+element-ui模拟数据搞定分页

    效果如图: 前提是搭好vue前端框架,npm install mockjs引入mock.js 当前页全部代码如下,其他有关element-ui的引入未提到,仅作参考用 <!-- 用户管理 --& ...

  4. react里面stateless函数的默认参数

    function fn({  children,  params,  dispatch,  location}) { }

  5. Java操作Mongodb(转载)

    好文章,值得收藏 HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序. 首先,要通过Java操作Mo ...

  6. Linux漏洞分析入门笔记-Off-By-One(栈)

    ubuntu-16.04.5(X86) IDA7.0 0x00.漏洞描述 1.什么是off by one?又称1字节溢出. 源字符串长度等于目标缓冲区长度时,将源字符串复制到目标缓冲区可能会导致off ...

  7. VBA注意事项

    以下是项目过程中遇到的坑,可能有些说明的部分不一定严谨,仅供参考 1.最好保存成 [*.xlsm]文件 2.注意 VBA 的参数类型,使用的参数如果未声明直接使用的话会出现类型不匹配的错误 3.代码写 ...

  8. HCNA调整RIP的运行版本

    1.拓扑图 2.实验配置 R1配置RIPv1 md5加密认证 Please press enter to start cmd line! ############################### ...

  9. 【Spring开发】—— AOP之方法级拦截

    前言: 前面介绍了Spring的核心模块以及相关的依赖注入等概念.这篇讲解一下spring的另一个重点,AOP面向切面编程. 说道AOP不得不提到几个概念: 切面:也就是我们自己的一些业务方法. 通知 ...

  10. Vaadin学习笔记——Page、UI和View在用法上的区别

    前言 在Vaadin技术框架中会出现三种不同的类,用于架构Web应用.它们分别是:Page.UI.View.本文将对这三者从使用角度进行比较,试图分析三者的异同.本文完全原创,我可不是在强调版权,我只 ...