python中的函数 - function
目录
- 1.函数的定义
- 2. 函数的创建
- 3. 函数的参数
- 形式参数
- 1. 位置参数
- 2. 默认参数
- 3. 可变参数
- 4. 关键字参数
- 返回值
- 4. 函数的变量作用域
- 1. 局部变量
- 2. 全局变量
- 5. 函数的应用
1.函数的定义
1. 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段
2. 函数能提高应用的模块性,和代码的重复利用率
3. Python提供了许多内建函数,比如print()。但也可以自己创建函数,这被叫做用户自定义函数
定义函数的规则:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()
- 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数
- 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明
- 函数内容以冒号起始,并且缩进
- 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相关推荐
- python中的函数(function)也是对象(二分钟读懂)
python中的函数(function) 在python中函数也是对象 对象是内存中专门用来存储的数据的一块区域 函数可以用来保存一些可执行的代码(储存的都是语句), 需要时, 对这些语句进行多次的调 ...
- python中pop函数_Python中的Pop函数
python中pop函数 什么是弹出功能? (What is the pop function?) The method pop() removes and returns the last elem ...
- python中max函数用法_Python中max函数用法实例分析
Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...
- python中bool函数_bool()函数以及Python中的示例
python中bool函数 Python bool()函数 (Python bool() function) bool() function is used to convert a given va ...
- python中dict函数_dict()函数以及Python中的示例
python中dict函数 Python dict()函数 (Python dict() function) dict() function is a library function, it is ...
- python中pow函数_pow()函数以及Python中的示例
python中pow函数 Python pow()函数 (Python pow() function) pow() function is a library function in Python, ...
- python中list函数_list()函数以及Python中的示例
python中list函数 Python list()函数 (Python list() function) list() function is a library function, it is ...
- Python中匿名函数与内置高阶函数详解
大家好,从今天起早起Python将持续更新由小甜同学从 初学者的角度 学习Python的笔记,其特点就是全文大多由 新手易理解 的 代码与注释及动态演示 .刚入门的读者千万不要错过! 很多人学习pyt ...
- python中help函数_Python help()函数
python中help函数 Python help() function is used to get the documentation of specified module, class, fu ...
最新文章
- 改变ie浏览器的收藏夹位置
- 我在思考的时候神告诉我的(大学里的爱恋)
- 虚拟机磁盘模式的转换
- C# Winform控件动态删除
- 去除Vue在WebStorm中报命名空间的错误
- Android开发笔记(四十五)手势事件
- 马健计算机博士,马健-中国科学院大学-UCAS
- python自学行吗-大家觉得自学python多久能学会?
- stl变易算法(二)
- 软件测试——检查代码
- 【健康管理系统——开题报告 分享(仅供参考呀)】
- 深度学习入门之猫vs狗(超简单)
- c语言数学追赶法编程,计算方法——C语言实现——追赶法求解非线性方程
- 【BZOJ4049】[Cerc2014] Mountainous landscape(线段树+凸包+二分)
- 【Neo4j】CQL基本语法
- linux下看pcie的设备id,linux lspci查看pci总线设备信息
- Java基础eclipse版(二)——JDK、Eclipse的下载与安装
- 华东师范大学计算机试题,(华东师范大学计算机考试习题.doc
- U3D RPC网络传输相机画面
- 直接插入排序顺序结构