重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用关键词 def 声明这是一个函数
创新互联公司专注于企业成都全网营销、网站重做改版、红岗网站定制设计、自适应品牌网站建设、html5、商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为红岗等各大城市提供网站开发制作服务。
1def 函数名 (参数):
2 语句块
参数可以没有,也可以有多个,用逗号隔开,第一行称为函数头,结尾一定要加冒号,代表开始进入函数体的执行。
语句块也就是函数体,是关于这个函数要实现的功能的语句,语句要有返回值即return语句,如果没有return语句,就代表return none.
打开IDLE python GUI,点击开始-所有程序-python2.7-IDLE python GUI,或者直接进入dos环境,或者其他的IDLE。
请点击输入图片描述
首先,创建一个简单的自定义函数,定义为K函数。
请点击输入图片描述
假如x==Kill,那么,就可以代入刚才所创建的K函数,最后返回一个语句,x为任意字符,空白字符也可以。
请点击输入图片描述
要注意的是,用def创建函数的时候,k(x)括号里面是不用双引号的,而调用自定义函数的时候,在括号了就要加上双引号。
上面的定义函数比较简单,只用了一个print输出语句,现在,定义一个累加的函数,就要用到while函数和if函数了。
请点击输入图片描述
A函数是用来计算累加的,其中用到了一个while循环和if判断,x为自定义变量,假如现在X为100,也就是说此函数计算1+2+3+...+100的和。
请点击输入图片描述
定义一个函数
你可以定义一个由自己想要功能的函数,以下是简单的规则:
函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号 : 起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。
python中,使用 def 关键字定义一个函数。如:
def functionname(args1,args2):
pass
大约就是这个样子。
没注意 把x y改成 a b 应该满足题目了
def divideExactly(x, y):
list1 = []
for i in range(x, y):
if i % 7 == 0:
if i % 5 != 0:
list1.append(i)
l = ','.join(str(i) for i in list1)
print(l)
divideExactly(10, 100)
map() 函数接受两个参数,一个是函数,一个是可迭代对象(Iterable), map 将传入的函数依次作用到可迭代对象的每一个元素,并把结果作为迭代器(Iterator)返回。
举例说明,有一个函数 f(x)=x^2 ,要把这个函数作用到一个list [1,2,3,4,5,6,7,8,9] 上:
运用简单的循环可以实现:
运用高阶函数 map() :
结果 r 是一个迭代器,迭代器是惰性序列,通过 list() 函数让它把整个序列都计算出来并返回一个 list 。
如果要把这个list所有数字转为字符串利用 map() 就简单了:
小练习:利用 map() 函数,把用户输入的不规范的英文名字变为首字母大写其他小写的规范名字。输入 ['adam', 'LISA', 'barT'] ,输出 ['Adam', 'Lisa', 'Bart']
reduce() 函数也是接受两个参数,一个是函数,一个是可迭代对象, reduce 将传入的函数作用到可迭代对象的每个元素的结果做累计计算。然后将最终结果返回。
效果就是: reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
举例说明,将序列 [1,2,3,4,5] 变换成整数 12345 :
小练习:编写一个 prod() 函数,可以接受一个 list 并利用 reduce 求积:
map() 和 reduce() 综合练习:编写 str2float 函数,把字符串 '123.456' 转换成浮点型 123.456
filter() 函数用于过滤序列, filter() 也接受一个函数和一个序列, filter() 把传入的函数依次作用于每个元素,然后根据返回值是 True 还是 False 决定保留还是丢弃该元素。
举例说明,删除list中的偶数:
小练习:用 filter() 求素数
定义一个筛选函数:
定义一个生成器不断返回下一个素数:
打印100以内素数:
python内置的 sorted() 函数可以对list进行排序:
sorted() 函数也是一个高阶函数,还可以接受一个 key 函数来实现自定义排序:
key 指定的函数将作用于list的每一个元素上,并根据 key 函数返回的结果进行排序.
默认情况下,对字符串排序,是按照ASCII的大小比较的,由于'Z' 'a',结果,大写字母Z会排在小写字母a的前面。如果想忽略大小写可都转换成小写来比较:
要进行反向排序,不必改动key函数,可以传入第三个参数 reverse=True :
小练习:假设我们用一组tuple表示学生名字和成绩: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] 。用sorted()对上述列表分别按c成绩从高到低排序:
运用匿名函数更简洁: