一、函数的作用

写程序的时候会出现这种情况:有一个功能需要在多个地方使用,如果没有函数需要在每次使用这个功能的时候把实现这个功能的代码写一遍;
如果有函数可以提前将实现指定功能的代码封装成函数,然后在所有需要这个功能的位置调用函数。

二、函数的定义

1.什么是函数

概念:函数就是实现某一特定功能的代码的封装。
(函数就是将实现某一个功能的所有代码打成一个包(封装),以后在需要这个代码对应的功能的时候就不需要再重新写这个代码了,而是直接调用函数)

def sum1(n):s = 0for i in range(1, n + 1):s += iprint(s)sum1(100)
sum1(35)

2.函数的分类

根据函数由谁创建的可以分为:系统函数和自定义函数

1)系统函数:由系统创建好的函数:print、input、type、chr、ord、sum等
2)自定义函数:由程序员自己创建的函数

3.定义函数(创建函数)

语法:
def 函数名(形参列表):函数说明文档函数体

说明:

  1. 函数名:由程序员自己决定
    两个要求:是标识符;不能是关键字
    三个规范:见名知意(看到函数名就大概知道这个函数的功能);字母都小写多个单词之间下划线隔开;
    不使用系统函数名、类名或者模块名
  2. ():固定写法
  3. 形参列表:以’变量名1,变量名2,变量名3,…'的形式存在,这儿的内一个变量就对应一个形参(形参可以没有也可以有多个)
    形参可以将函数外部的数据传递到函数的内部;
    定义函数的时候需不需要形参需要几个形参就看实现的功能的时候需不需要额外的数据,需要几个额外的数据就需要几个形参
  4. 函数说明文档:本质就是和def保持一个缩进的多行注释
  5. 函数体:结构上就是和def保持缩进的一条或多条语句(至少一条);
    逻辑上函数体就是实现函数功能的代码。

初学者定义函数的步骤:
1.确定函数的的功能
2.确定函数名(根据功能来)
3.确定形参列表
4.使用函数体实现函数功能(实现函数功能的时候需要将形参当作对应的数据来使用)

案例1:定义一个函数求任意两个数的和

def sum1(num1, num2):"""求两个数的和:param num1: 数字1:param num2: 数字2:return:"""print(num1 + num2)sum1(5, 5)

案例2:定义一个函数统计任意列表中数字的个数

def count_num(list1):count = 0for i in list1:if type(i) == float or type(i) == int:count += 1print(count)list1 = [1, 2, 3, 5, 4, 'adf', '是滴']
count_num(list1)

练习1: 定义一个求10的阶层

def sum2(num1):num = 1sum_num = 1while num <= num1:sum_num *= numnum += 1print(sum_num)

练习2:统计任意一个字符串中中文的数量

def count_str(str1):count = 0for i in str1:if '\u4e00' <= i <= '\u9fa5':count += 1print(count)

练习3:定义一个函数判断一个字符串是否以另外一个字符串开头

def str_num(str1, str2):if str2[: len(str1)] == str1 or str1[: len(str2)] == str2:print(True)else:print(False)str_num('abc455', 'abc')

练习4:定义一个函数,将一个名字列表中所有的名字按照123重复报数的方式分成三组

def name_list(list2):print(list2[0::3])print(list2[1::3])print(list2[2::3])names = ['路飞', '娜美', '乌索布', '索罗', '山治', '乔巴', '纳兹', '鸣人', '佐助', '小樱', '卡卡西', '好色仙人', '犬夜叉', '杀生丸', '戈薇', '玲', '奈落','邪见']
name_list(names)

三、函数的调用

1.调用函数

定义函数的时候不会执行函数体,调用函数的时候才会执行函数体(调用多少次就执行多少次)

语法:
函数名(实参列表 )

说明:
函数名:任何已经定义过的函数的函数名
():固定写法
实参列表:以’数据1,数据2,数据3,…'的形式存在,这儿的每一个数据就是一个实参。
实参是用来给形参赋值(实参才是真正从函数外部传递到函数内部的数据),实参必须和形参一一对应。

2.函数调用过程

第一步:回到函数定义的位置
第二步:传参(用实参给形参赋值)
第三步:执行函数体
第四步:确定函数返回值
第五步:回到函数调用的位置接着往后执行

函数的作用、函数的定义及函数的调用相关推荐

  1. python中匿名函数的作用_Python 中的匿名函数,你会用吗

    原标题:Python 中的匿名函数,你会用吗 概念 我们从一个例子引入. 这里有一个元素为非空字符串的列表,按字符串最后一个字母将列表进行排序.如果原列表是 ['abc', 'g', 'def'],则 ...

  2. python使用del保留字定义一个函数-Python使用什么保留字定义一个函数。

    [单选题]Where was the First Continental Congress held? [单选题]对于集合S和T,下列不属于集合类型的操作是() [判断题]UPS系统的静态开关用于保护 ...

  3. 定义python函数时如果没有return_定义 Python 函数时,如果函数中没有 return 语句,则默认返回空值 None 。_学小易找答案...

    [多选题]因发现核酶而共享诺贝尔化学奖的科学家是(). [简答题]如果是六角梅花,你还可以用什么方法完成? [填空题]如果函数中没有 return 语句或者 return 语句不带任何返回值,那么该函 ...

  4. 可以在一个函数中定义另一个函数_第5周 定义一个函数

    亲爱的观众老爷们,早上好! 编程大师Martin Fowler先生曾经说过:"代码有很多种坏味道,重复是最坏的一种!",要写出高质量的代码首先要解决的就是重复代码的问题. 那么有什 ...

  5. 在类内定义成员函数、在类外定义成员函数、计算长方体的体积【C++面向对象编程类的使用经典案例】

    文章目录 一.在类内定义成员函数 二.在类外定义成员函数(使用符号::) 三.计算3个长方体的体积(class成员函数) 一.在类内定义成员函数 #include <iostream> u ...

  6. matlab 函数不定参数,matlab function定义一个函数,但一直出来说输入参数数目不足。我用的是2014版本,不知道数目原因啊?...

    www.mh456.com防采集. h = 5;g = 1;    % g取源0有问题% 被积函数2113可以化5261简成f = @4102(a,b,r)(r*h-r^16532*cos(a-b)) ...

  7. c语言time函数的作用,c语言中time函数的用法

    c语言中time函数的用法 c语言中time函数的用法的用法你知道吗?下面应届毕业生小编就跟你们详细介绍下c语言中time函数的用法的用法,希望对你们有用. c语言中time函数的用法的用法如下: 头 ...

  8. python匿名函数的作用_Python中的匿名函数及递归思想简析

    匿名函数 前言 上次咱们基本说了一下函数的定义及简单使用,Python中的基本函数及其常用用法简析,现在咱们整点进阶一些的.同样都是小白,咱也不知道实际需要不,但是对于函数的执行顺序以及装饰器的理解还 ...

  9. c语言free函数的作用,c语言中free函数的理解

    最近在复习c语言的时候再次用到了malloc函数和free函数,此处着讲解一下自己对这两个函数的理解和认识. 一. malloc函数和free函数的基本概念和基本的用法 对于malloc函数: 1.包 ...

  10. 在c语言中log函数的作用,C语言中log函数怎么使用啊

    优质回答 回答者:奔跑的五花肉11 1.C语言中,有两个log函数,分别为log10和log函数,具体用法如下: 2.函数名: log10 功 能: 对数函数log,以10为底 用 法: double ...

最新文章

  1. CSP认证201403-2窗口[C++题解]:模拟、结构体
  2. linux redhat 6.3: /lib/libz.so.1: no version information available
  3. Python基础总结之常用内置方法总结
  4. pip安装指定版本包
  5. 用python爬取东方财富网网页信息_爬取东方财富网数据的网页分析
  6. 创建了一个表之后怎么再次在表中添加字段和字段显示位置_筛选数据透视表中的数据...
  7. uniapp 日期选择器_uniapp实现横向滚动选择日期
  8. 万元奖金 , 百万流量 , 助你成为CSDN超级红人 !
  9. C#对称加密(3des)和非对称加密(rsa)算法
  10. 解压软件Bandizip Archiver for mac
  11. HUSTOJ(2019)在线判题系统的从零开始搭建过程
  12. Android计算器界面布局
  13. 使用WebStorm开发web前端 网页中文乱码问题的解决方案
  14. 抖音视频如何一键批量下载
  15. 7.2 Python 实例11-自动轨迹绘制
  16. 微信公众号,主要分析哪些方面的数据?
  17. 腾讯《天天传奇》玩转Unity3D
  18. 华为机试:身高体重排序
  19. 计算机怎么设置搜索桌面,桌面百度:电脑上的直接搜索框,想搜就搜
  20. 观其关键字排名查询工具_seo常用工具统计

热门文章

  1. 计算机老师素质能力提升计划要求,教师2021个人素质提升计划范文
  2. python实现multi函数参数个数不限、返回所有参数乘积_实现multi()函数,参数个数不限,返回所有参数的乘积。_学小易找答案...
  3. 画圆形图片的几种方式
  4. MC(移动立方体)算法
  5. scrapy中代理设置
  6. 零基础怎么学习平面设计,学习平面设计需要多久?
  7. php怎么分栏,wps怎么分栏排版
  8. 电商平台违规“二清”,将面临哪些处罚?
  9. OpenCV-Python 直方图-4:直方图反投影 | 二十九
  10. PyQt4转PyQt5心得