目录

  • 1.函数的定义
  • 2. 函数的创建
  • 3. 函数的参数
    • 形式参数
      • 1. 位置参数
      • 2. 默认参数
      • 3. 可变参数
      • 4. 关键字参数
    • 返回值
  • 4. 函数的变量作用域
    • 1. 局部变量
    • 2. 全局变量
  • 5. 函数的应用

1.函数的定义

1. 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
2. 函数能提高应用的模块性,和代码的重复利用率
3. Python提供了许多内建函数,比如print()。但也可以自己创建函数,这被叫做用户自定义函数

定义函数的规则:

  1. 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()
  2. 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数
  3. 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明
  4. 函数内容以冒号起始,并且缩进
  5. return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None

2. 函数的创建


3. 函数的参数

1. 参数分为形参(形式参数)和 实参(实际参数)
2. 形参又分为:位置参数、默认参数、可变参数、 关键字参数
3. 形参是在定义函数的时候给出的实参是在调用函数的时候给出的

形式参数

1. 位置参数

位置参数也称为必备参数,实参和形参的个数必须保持一致,必须按照指定位置传参,如果位置不对应就指定说明,否则会报错。

2. 默认参数

形参和实参可以不一致,若不想使用默认的参数,在调用函数的时候可以指定

3. 可变参数

*a代表可变参数,a是元组数据类型

4. 关键字参数

允许传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dic(字典)

关键词参数功能:它可以扩展函数的功能。

返回值

  • 返回值: 函数运算的结果,还需进一步操作,给函数一个返回值
  • return 用来返回函数执行的结果,如果函数没有返回值,默认返回 None
  • 函数一旦遇到return,函数执行结束,后面的代码不会执行
  • 多个返回值的时候,会自动封装成一个元组类型

语法格式:result = return[value]

result 用于保存返回结果,如果返回一个值,那么result中就保存的是返回的一个值,值可以是任意类型。若返回多个值,那么result就是一个元组
value 可选参数,用于指定要返回的值,可以返回一个或多个值

4. 函数的变量作用域

注意:
python当中允许全局变量和局部变量重名,但在实际开发当中不会这么做,容易导致代码混乱,分不清全局变量和局部变量

1. 局部变量

在函数内部定义的变量,只在函数内部起作用,函数执行结束后变量会自动删除

2. 全局变量

全局变量:
与局部变量对应,全局变量为能够作用于函数外的变量。全局变量主要有以下两种:
1.如果一个函数在函数体外定义,那么不仅仅在函数外可以访问到,在函数内部也可以访问到。函数体以外的变量就是全局变量
2.如果一个变量在函数体内部定义,并且是以global关键字修饰后,改变量也就成为全局变量函数体外也可以访问此变量。

5. 函数的应用

  • 案例一:

编写一个函数cacluate, 可以接收任意多个数,返回的是一个元组.
元组的第一个值为所有参数的平均值, 第二个值是大于平均值的所有数.

  • 案例二:

编写一个函数, 接收字符串参数, 返回一个元组,‘ehllo WROLD’ 元组的第一个值为大写字母的个数, 第二个值为小写字母个数.

  • 案例三:

编写函数, 接收一个列表(包含30个1~100之间的随机整形数)和一个整形 数k, 返回一个新列表.
函数需求:
- 将列表下标k之前对应(bu包含k)的元素逆序;
- 将下标k及之后的元素逆序;
[1,2,3,4,5] 2 [2,1,5,4,3]

  • 案例四:

模拟轮盘抽奖游戏 轮盘分为三部分: 一等奖, 二等奖和三等奖;
轮盘转的时候是随机的,
如果范围在[0,0.08)之间,代表一等奖,
如果范围在[0.08,0.3)之间,代表2等奖,
如果范围在[0.3, 1.0)之间,代表3等奖,

模拟本次活动1000人参加, 模拟游戏时需要准备各等级奖品的个数.

import randomrewardDict = {'一等奖': (0,0.08),'二等奖': (0.08,0.3),'三等奖': (0.3,1)
}
#判断用户在那个得奖区间
def userfun():num = random.random()for k,v in rewardDict.items():if v[0] <= num < v[1]:return kresultDict = {}
#统计得奖人数
for i in range(1000):res = userfun()if res not in resultDict:resultDict[res] = 1else:resultDict[res] += 1for k,v in resultDict.items():print(k,'--->',v)

  • 案例五:
    腾讯笔试编程题

对于一个十进制的正整数, 定义f(n)为其各位数字的平方和,如:
f(13) = 12 + 32 = 10
f(207) = 22 + 02 + 7**2 = 53
下面给出三个正整数k,a, b,你需要计算有多少个正整数n满足a<=n<=b,
且k*f(n)=n

输入:
第一行包含3个正整数k,a, b, k>=1, a,b<=10**18, a<=b;
输出:
输出对应的答案;

范例:
输入: 51 5000 10000
输出: 3

def f(n):#先把数字转换成字符串n=str(n)#计算字符串中每个数的平方sum = 0for item in n:sum +=int(item) ** 2return sum
#接受变量k,a,b
s = input()
#存储整型k,a,b
list = []
for item in s.split():list.append(int(item))
k,a,b=list
#3.判断是否满足条件
count=0
for i in range(a,b+1):if k*f(i) == i:count += 1
print(count)

python中的函数 - function相关推荐

  1. python中的函数(function)也是对象(二分钟读懂)

    python中的函数(function) 在python中函数也是对象 对象是内存中专门用来存储的数据的一块区域 函数可以用来保存一些可执行的代码(储存的都是语句), 需要时, 对这些语句进行多次的调 ...

  2. python中pop函数_Python中的Pop函数

    python中pop函数 什么是弹出功能? (What is the pop function?) The method pop() removes and returns the last elem ...

  3. python中max函数用法_Python中max函数用法实例分析

    Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...

  4. python中bool函数_bool()函数以及Python中的示例

    python中bool函数 Python bool()函数 (Python bool() function) bool() function is used to convert a given va ...

  5. python中dict函数_dict()函数以及Python中的示例

    python中dict函数 Python dict()函数 (Python dict() function) dict() function is a library function, it is ...

  6. python中pow函数_pow()函数以及Python中的示例

    python中pow函数 Python pow()函数 (Python pow() function) pow() function is a library function in Python, ...

  7. python中list函数_list()函数以及Python中的示例

    python中list函数 Python list()函数 (Python list() function) list() function is a library function, it is ...

  8. Python中匿名函数与内置高阶函数详解

    大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...

  9. python中help函数_Python help()函数

    python中help函数 Python help() function is used to get the documentation of specified module, class, fu ...

最新文章

  1. 改变ie浏览器的收藏夹位置
  2. 我在思考的时候神告诉我的(大学里的爱恋)
  3. 虚拟机磁盘模式的转换
  4. C# Winform控件动态删除
  5. 去除Vue在WebStorm中报命名空间的错误
  6. Android开发笔记(四十五)手势事件
  7. 马健计算机博士,马健-中国科学院大学-UCAS
  8. python自学行吗-大家觉得自学python多久能学会?
  9. stl变易算法(二)
  10. 软件测试——检查代码
  11. 【健康管理系统——开题报告 分享(仅供参考呀)】
  12. 深度学习入门之猫vs狗(超简单)
  13. c语言数学追赶法编程,计算方法——C语言实现——追赶法求解非线性方程
  14. 【BZOJ4049】[Cerc2014] Mountainous landscape(线段树+凸包+二分)
  15. 【Neo4j】CQL基本语法
  16. linux下看pcie的设备id,linux lspci查看pci总线设备信息
  17. Java基础eclipse版(二)——JDK、Eclipse的下载与安装
  18. 华东师范大学计算机试题,(华东师范大学计算机考试习题.doc
  19. U3D RPC网络传输相机画面
  20. 直接插入排序顺序结构

热门文章

  1. Discuz!门户列表页,文章中无图片时,随机选择一张作为封面
  2. 解析TCP连接之“三次握手”和“四次挥手”
  3. python 通过ftp自动 上传指定excel文件
  4. GIS地图瓦片、坐标转换基本概念
  5. 洛谷P5594-【XR-4】模拟赛
  6. ABP微服务系列学习-搭建自己的微服务结构(三)
  7. 一种突发事件的时滞动力学模型 2019-nCoV与参数辨识
  8. 一个团队(很多人)都存在的共性问题
  9. win10桌面上鼠标右键卡顿(一直显示小圆圈)解决办法
  10. 祝福老朋友今天的收获