1.函数的定义
函数是组织好的,可重复使用的,用来实现单一,或相关联的代码段
函数能提高应用的模块化,和代码的重复利用率
python提供了许多内建函数,比如print(),但你也可以自己创建函数,这被叫做用户自定义函数。
其实函数就是一个可以可以实现某一功能的代码块,下次使用的时候直接调用函数就行。
定义一个函数,你可以定义一个自己想要功能的函数
函数的定义规则:
函数代码块以def关键字开头,后接函数标识符名称和圆括号( )
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用来定义参数。
函数的第一行语句可以选择性的使用文档字符串用于存放函数说明。
return[表达式]结束函数,选择性的返回一个值给调用方。不带表达式的return相当于返回None。
在python中,定义一个函数要使用def语句,依次写出函数名,括号,括号中的参数和冒号,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
2.函数的创建
定义创建嵌套函数
【注意】:始终记住一个原则,函数不调用不执行,只有被正确调用后才执行
3.函数的参数(args)
参数分为形参(形式参数)和实参(实际参数)
形式参数有四种:位置参数,默认参数,可变参数,关键字参数
实参:实参是在调用函数的时候给出的
(1)位置参数:实参和形参的个数必须一致,最好按位置传参,如果位置不一致则指定说明
(2)默认参数:形参和实参的个数可以不一致,如果不想使用默认的参数,在调用的时候可以指定
(3)可变参数:* a代表可变参数,a是元组数据类型
(4)关键字参数:**kwargs(keywordsargs)代表关键字参数,可以传入任意多个key-value,组成一个字典
4.函数的返回值return
return和print不一样,print是将结果输出到控制台,return是将return后面的内容当作返回值作为函数的输出,可以赋值给变量,继续使用改返回值做其他的事情。如果一个函数没有return语句,但其实他有一个隐含的return语句,返回值是None。return语句的作用是结束函数调用,返回值。
5.变量的作用域
局部变量和全局变量;
局部变量:在函数内部定义的变量,只在函数内部起作用,函数执行结束,变量会自动删除
全局变量:在函数外定义的变量,即从定义变量的位置到本源文件结束都有效,即可以被程序所有对象或者函数引用。
当有外部变量时,main函数中的同名变量就是全局变量。如果没有外部变量,main函数中的变量依然是局部变量,或者也可以直接在函数内部声明变量为全局变量
6.列表生成式
格式:[expression for i in seq if …]
7.测试题
题干1
编写一个函数cacluate,可以接收任意多个数,返回的一个元组。
元组的第一个值为所有参数的平均值,第二个值是大于平均值的所有数。
题干2
编写一个函数,接受字符串参数,返回一个元组,‘ehllo WROLD’ ,元组的第一个值为大写字母的个数,第二个值为小写字母的个数。
题干3
编写函数,接收一个列表(包含30个1~100之间的随机整数)和一个整形数k,返回一个新列表。
函数需求:
1.将列表下标k之前对应(不包含k)的元素逆序;
2.将下标k及之后的元素逆序;
[1,2,3,4,5] 2 [2,1,5,4,3]
题干4
模拟轮盘抽奖游戏
轮盘分为三部分:一等奖,二等奖,三等奖;
轮盘转的时候是随机的,
如果范围在[0,0.08)之间,代表一等奖,
如果范围在[0.08,0.3)之间,代表2等奖,
如果范围在[0.3,1.0)之间,代表3等奖,
模拟本次活动1000人参加,模拟游戏时需要准备各等级奖品的个数。
题干5
腾讯笔试编程题:
题目需求:
对于一个十进制的正整数,定义f(n)为其各位数字的平方和,如:
f(13) = 1**2 + 3**2 =10
f(207) = 2**2 + 0**2 + 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
题干6:列表生成式的应用
输出1到100之间的所有质数
题干7
腾讯在线编程题
给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000.
如输入为10,程序应该输出结果为2.(共有俩对质数的和为10,分别为(5,5),(3,7)
[2,3,5,7]
输入描述:输入包括一个整数n,(3 <= n <1000)
输出描述:
输出对数。
示例:
输入10
输出2
题干8
需求:假设有20各学生,学生名为westosX,学生分数在60-100之间,筛选出成绩在90分以上的学生