函数      (函数的命名规则和变量一样:①是由字母,数字,下划线组成②开头不是数字,更不能是纯数字③不能是关键字④不要用中文⑤要有意义⑥区分大小写⑦不要太长⑧推荐驼峰和下划线格式)

一.函数的含义

先定义一个事情或者功能,等到需要的时候直接去用,这列定义的一个东西就是函数

函数的语法;

  def  函数名(形参):

    函数体

  函数名(实参)

函数就是对代码块和功能的封装和定义

二.函数的定义

例如:    步骤分为4步骤:  ①先定义def  函数名   ②调用函数   ③准备执行函数   ④  执行函数

  #首先定义一个功能叫chi()  ===>      (函数名)

  def chi():

    print("首先,打开手机")                   中间print部分是函数体,代码块

    print("打开手机美团")                        (函数被执行后要执行的代码块)

    print("选择一家餐厅")

    print("点餐")                           ==>当函数最后一句话完成的时候,函数完成

  chi()   =====>函数的调用   #执行函数           当函数执行完毕,表示当前本次chi()执行完毕

  print("减肥")

  chi()

三.函数的返回    (return)      是要函数执行到return,函数就会停止     (return    返回值    当函数结束的时候,给调用者一个结果)

例如:

  def chi():

    print("首先,打开手机")

    print("打开美团外卖")

    print("点餐")

    print("吃饭")

    return "减肥"                  ====>return在这里返回了一个结果,就是做这件事情之后的结果是什么

  ret = chi()

  print(ret)

函数的返回主要有四个方面的总结:

1.每个函数如果在函数中不写return,默认返回None

例如:

  def chi():

    print("洗菜")

    print("切菜")                                洗菜

    print("做饭")                      ====>切菜

                                        做饭

  ret = chi()                                           None

  print(ret)

2.每个函数中如果在函数中的return后面什么都不写   默认返回None值

例如:

  def chi():

    print("洗菜")

    print("切菜")                                洗菜

    print("做饭")                  ======>切菜

    return                                          做饭

  ret = chi()                                           None

  print(ret)

3.return后面只写一个值,则调用者可以接收到一个结果

例如:

  def chi()

    print("洗菜")                                洗菜

    print("切菜")                                切菜

    print("做饭")                        ===>做饭

    return  "刷碗"                              刷碗

  ret = chi()

  print(ret)

4.如果return后面写了多个结果,则调用者可以接收到一个元组(tuple),调用者可以直接解构成多个变量

例如:

  def chi()

    print("洗菜")                           洗菜

    print("切菜")                           切菜

    print("做饭")                              做饭

    return  "收拾","刷碗","休息"                      =====>             收拾

  a,b,c = chi()   ret = chi()               刷碗

  print(a)     print(ret)  (这个打印出来的是个元组)  休息

  print(b)            

  print(c)

四.函数的参数    (在函数执行的时候给函数传递的信息)

函数的参数个数是没有要求的,但是在运行的时候,形参与实参要匹配,按照位置把实参赋值给形参

(1)站在实参的角度上有三个参数:①位置参数②关键字参数③混合参数

形参(在函数声明的位置,声明出来变量)

①位置参数

例如:

  def chi(fangshi):

    print("打开手机")

    print("打开%s"软件"  %  fangshi)

    print("点餐")                                           ======>打印两边chi()函数    美团外卖和饿了么各执行一次

  chi("美团外卖")      实参(在函数调用的时候,实际你给的函数传递的值)

  chi("饿了么")

②关键字参数(形参)       在实参调用的时候,可以指定参数的值是多少

例如:           (按照名称给形参赋值)

  def chi(a,b,c):

    print(a)

    print(b)                          =====> a = 2,b = 3,c = 1

    print(c)

  fn(1,2,3)

  fn(b = 3,a = 2,c = 1)

③混合参数     顺序(先写位置参数,后写关键字参数,否则会报错)

例如:

  def gn(name,age,sex,address,hobby)

    print("姓名是%s,年龄是%s,性别是%s,家住地址是%s,爱好是%s"  %  (name,age,sex,address,hobby))

  gn("刘怀源",22,"女","济源市","美食")                           (位置参数)

  gn(name="刘怀源",address = "济源市",hobby = "美食",sex = "女",age = 22)                  (关键字参数)

  gn("刘怀源",22,女,hobby = "美食",address = "济源市")                    (混合参数)

(2)站在形参的角度上有三种参数 ①位置参数 ② 默认值参数  ③默认值参数和位置参数混着用

①位置参数

②默认值参数

例如:

  def regist(id,name,sex="女")       sex = 女    已经给sex赋予值了   如果是,下面就不需要再写,此时就是默认值参数

    print("录入学生信息:id%s,名字:%s,性别:%s"  %  (id,name,sex))

  regist(1,"刘怀源","女")                                  (位置参数)

  regist(2,"郭晓君",)                                    (默认值参数)

  regist(3,"张舒文","男")              如果实际不是默认值参数的话,就自行添加

③默认值参数和位置参数混着用

顺序(先写位置参数,后写默认值参数)

  def xinxi(name,age,sex = "女",address = "焦作市"):
    print("姓名是%s,年龄:%s,性别:%s,地址是%s" % (name,age,sex,address))
  xinxi("刘怀源",22)
  xinxi("郭晓君",22,)
  xinxi("刘亚楠",23,)
  xinxi("张舒文",22,"男")

打印出来的结果:

  姓名是刘怀源,年龄:22,性别:女,地址是焦作市
  姓名是郭晓君,年龄:22,性别:女,地址是焦作市
  姓名是刘亚楠,年龄:23,性别:女,地址是焦作市
  姓名是张舒文,年龄:22,性别:男,地址是焦作市

五.函数的实际运用

例如:

1+2+3+4+5+..........+100 = ?

  def sum(n)

    s = 0

    count = 1

    while count < = n:

      s = s + count

      count = count + 1                          对功能的封装

    return s

  ret = sum(100)

  print(ret)

计算n是奇数还是偶数

  def fn(n)

    if n %2 == 0:

      return"偶数"

    else:

      return"奇数"

  ret = fn(一个数)                         ====>print(fn(一个数))

  print(ret)

作业题:

1.写函数,计算传入函数的字符串中, 数字、字母、空格 以及 其他内容的个数,并返回结果。

  def func(str):

    num = 0

    zimu = 0

    kongge = 0

    qita = 0

    for i in str:

      if i.isdigit():

        num += 1

      elif i.isalpha():

        zimu += 1

      elif i.isspace():

        kongge += 1

      else:

        qita += 1

    return (num,zimu,kongge,qita)

  ret = func("123defg  *&%%")

  print(ret)

2.写函数,函数接收四个参数分别是:姓名,性别,年龄,学历。用户通过输入这四个内容,然后将这四个内容传入到函数中,此函数接收到这四个内容,将内容追加到一个student_msg文件中。支持用户持续输入,Q或者q退出,性别默认为男,如果遇到女学生,则把性别输入女。

   def func(name,age,stu,sex="男"):
     f = open("sutdent_msg",mode="a",encoding="utf-8")
     f.write("名字是:%s,性别是%s,年龄是%s,学历是%s\n" % (name,age,stu,sex))
     f.flush()
     f.close()
     return (name,sex,age,stu)
   while 1:
     tuichu = input("请输入Q或q退出")
     if tuichu.upper() == "Q":
       break
     name = input("名字:")
     age = input("年龄:")
     stu = input("学历:")
     sex = input("性别:")
     if sex == "女":
       ret = func(name, age, stu, sex)
     else:
       ret = func(name, age, stu)
     print(ret)

3.写函数,用户传入修改的文件名,与要修改的内容,执行函数,完成整个文件的批量修改操作(升级题)

  def func(f,old,new):
     import os
     with open(f,mode="r",encoding="utf-8") as f1,open(f+"副本",mode="w",encoding="utf-8") as f2:
       s = f1.read()
       ss = s.replace(old,new)
       f2.write(ss)
     os.remove(f)
     os.rename(f+"副本",f)
   func("chi","菜","肉")

4.写一个函数完成三次登陆功能

  def func(name,password):

    num = 1

    while num <=3 :

      n1 = input("请输入用户名:")

      p1 = input("请输入密码:")

      if n1== name and p1 == password:

        print("登录成功")

        break

      else:

        print("登录失败")

      num = num + 1

  func("刘怀源","123")

转载于:https://www.cnblogs.com/lhy979/p/9300014.html

20180712 (函数,函数的返回值return,函数的参数以及实际运用)相关推荐

  1. py函数两个返回值_Python 函数为什么会默认返回 None?

    Python 有一项默认的做法,很多编程语言都没有--它的所有函数都会有一个返回值,不管你有没有写 return 语句. 本文出自"Python为什么"系列,在正式开始之前,我们就 ...

  2. java 定时器返回值_javascript 函数返回值(return)、定时器(setTimeout、setInterval)...

    一.函数的返回值:return 1.函数名+括号=return后面的值 function fn1(){ return 100; } alert(fn1()); // 100 fn1()=return后 ...

  3. Swift2.0语言教程之函数的返回值与函数类型

    Swift2.0语言教程之函数的返回值与函数类型 Swift2.0中函数的返回值 根据是否具有返回值,函数可以分为无返回值函数和有返回值函数.以下将会对这两种函数类型进行讲解. Swift2.0中具有 ...

  4. python函数参数定义顺序_Python函数定义-位置参数-返回值

    原标题:Python函数定义-位置参数-返回值 1 函数介绍 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多 ...

  5. keil5函数 默认返回值_C++ 函数的定义

    " C++对于函数的基本用法" 01 - 函数的定义 //函数声明:[返回值类型] [函数名称] (参数列表)int Function(int a, int b);//函数定义in ...

  6. python中函数的返回值_python--函数的返回值、函数的参数

    函数的返回值 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 函数名:命名规则和变量一样 函数的返回值: return, 函数执行完毕. 不会执行后面逻辑 如果函数中不写return返回No ...

  7. linux内核函数出错的返回值

    linux内核函数出错的返回值 1. 函数返回指针 2. 如何通过错误信息指针来返回错误信息 3. 出错代码返回指针在(-1000,0)区间 4. 错误的判断和错误原因的打印 4.1 错误的判断 4. ...

  8. keil5函数 默认返回值_C++的返回值return

    return表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定.函数可以有返回值也可以没有返回值,当没有返回值时,函数类型声明为void型.每个函数都有类型,如 ...

  9. python中return返回值为函数名_Python函数返回值

    Python函数返回值教程 同时,Python 函数的返回值不需要在函数的签名上体现,只需要在函数体里面直接使用 return 语句返回即可. Python函数不返回值详解 语法 def func_n ...

  10. js中函数返回值return

    全栈工程师开发手册 (作者:栾鹏) js系列教程4-函数.函数参数教程全解 函数返回值 1.所有函数都有返回值,没有return语句时,默认返回内容为undefined,和其他面向对象的编程语言一样, ...

最新文章

  1. Caffe、TensorFlow、MXnet三库对比
  2. 采购Invoice校验_事后借记和事后贷记
  3. SDCC 2016数据库峰会(深圳站)学习笔记
  4. git原理浅析及命令介绍
  5. 946. 验证栈序列
  6. VC下使用Proc连接Oracle数据库
  7. [原] CentOS 7 安装 nginx, php mysql 套件
  8. 豆瓣评分预测(如何用自己的数据集进行文本分类)——基于pytorch的 BERT中文文本分类,超详细教程必会!!!
  9. PDF文档如何解密?3个软件值得收藏
  10. 知行功夫为本,找对心中的英雄,过好平凡的生活
  11. 灰色模型及matlab算法
  12. Groovy简介与使用
  13. 氨基-peg2000-水溶CulnS/ZnS量子点|NH2-PEG-CulnS/ZnSQDS的透射电镜(TEM)和高分辨透射电镜(HRTEM)图片
  14. 产品读书《谷歌和亚马逊如何做产品》
  15. 模拟淘宝侧边服务模块鼠标悬停效果的三种实现方式总结
  16. python寻峰算法_python/scipy的寻峰算法
  17. tring转换成Integer numberformatexception 分析
  18. linux分辨率自动恢复,Linux系统Manjaro分辨率调整恢复
  19. 华为腾讯汉能:叫响世界的三大中国自主创新企业
  20. 计算机c盘属性不显示安全选项,Windows10系统磁盘属性没有安全选项卡(图文)

热门文章

  1. 北京互联网地域歧视链
  2. R语言自然语言处理:文本分类
  3. 利用ComplexHeatmap绘制热图(一)
  4. 数据分析告诉你,韦小宝跟他七个老婆哪个最亲?
  5. 2018-2019-1 20165214 《信息安全系统设计基础》第九周学习总结
  6. Angular Taskmgr 登录
  7. eclipse 背景颜色
  8. ITOO 第一个任务,新建界面
  9. MSSQL有关时间函数知识(转)
  10. fstream流对象形参时出现的错误问题(codeblocks+gcc)