一 函数的定义:
对功能和动作的封装和定义.
二 函数的格式:
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. Linux的find命令实例详解和mtime ctime atime

    这次解释一下三个Linux文件显示的三个时间,然后展示一下find命令的各个功能 在linux操作系统中,每个文件都有很多的时间参数,其中有三个比较主要,分别是ctime,atime,mtime mo ...

  2. csharp:汉字转带拼音声调

                                                                                      {                  ...

  3. Html5的map在实际使用中遇到的问题及解决方案

    前言:百度了一下html map,嗯嗯,介绍的挺详细的,如果是初学者,直接看他们的教程,挺好的,就不用我再多说了. 不过我发现一个问题,就是都是介绍map有什么属性怎么用的,这明显就是照搬文档自己再改 ...

  4. python 读写Oracle10g数据简介

    1.测试环境: Centos6 X86_64python 2.6 Oracle 10g 2.安装cx_Oracle 和 Oracle InstantClient: http://www.rpmfind ...

  5. 【阿里云产品公测】PTS压力测试最低配ECS性能及评测

    PTS是一个性能测试工具,可以使用PTS对自身系统性能在阿里云环境里的状况进行整体评估来找出你的系统性能瓶颈从而优化系统,同时你还可以在了解自己的系统性能指标情况下便于未来新增扩容.在使用PTS前你必 ...

  6. Android 第三方类库简单使用之EventBus

    Android 第三方类库之EventBus 1 PS 工欲善其事必先利其器. Eventbus也是一款在开发中常用的利器 这篇也对EventBus的简单介绍和使用,与之前个xutils介绍的级别一样 ...

  7. dialog和dialogFragment的使用及常用问题

    今天比较懒,只是列举了一些网址 弹窗之一:dialogFragment的使用 https://blog.csdn.net/sinat_31057219/article/details/76979246 ...

  8. Windows C/C++ 内存泄露检测

    #pragma once #define _CRTDBG_MAP_ALLOC #include<crtdbg.h> #include<stdlib.h> #include< ...

  9. Asterisk 对wav格式的支持

    经过测试wav格式文件仅支持PCM 8000kHz 16bit 单声道,非常蛋疼的一个原因,排查了好久! 关于C#支持的一些格式(Mono 单声道 .Stereo 立体声道) // Standard ...

  10. 【Leetcode】【Easy】ZigZag Conversion

    The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...