【4】python函数基础
---恢复内容开始---

案例1:时间下一秒程序
#__author:"吉勇佳"
#date: 2018/10/14 0014
#function: timestr=input("请输入标准的时间,如:21:55:23----->>>:23")
timeList=timestr.split(":")
h = int(timeList[0])
m = int(timeList[1])
s = int(timeList[2]) s += 1
if s == 60:
m += 1
s=0
if m==60:
h += 1
m=0
if h == 24:
h=0 print("%.2d:%.2d:%.2d" %(h,m,s)) #输出
'''
请输入标准的时间,如:21:55:23----->>>:23:59:58
23:59:59
'''
案例2:迭代器的判断与是否可以使用next
#__author:"吉勇佳"
#date: 2018/10/14 0014
#function:迭代器的判断----isinstance from collections import Iterator print(isinstance("",Iterator))
print(isinstance([],Iterator))
print(isinstance((),Iterator))
print(isinstance({},Iterator))
print(isinstance((),Iterator))
print(isinstance((x for x in range(2,10)),Iterator))
l=(x for x in range(2,10))
print(next(l))
print(next(l))
print(next(l))
print(next(l)) '''
输出:
False
False
False
False
False
True
2
3
4
5
'''

两种不定长参数的方法比较。
案例1:第一种不定长传递参数
def fun1(name,*others):
print(name)
for i in others:
print(i) fun1("jiajia",22,"男","陕西省渭南市合阳县") '''
输出:
jiajia
22
男
陕西省渭南市合阳县 '''
第二种:不定长传递参数,但是必须是传递一个(x=1,y=2)这种的,在内部转化为字典
def fun2(**kwargs):
print(kwargs) fun2(a=1,b=2,c=3) '''
输出:
{'a': 1, 'b': 2, 'c': 3} 传入以下时候报错。
fun2(1,2,3)
'''
其中:**代表的是键值对的表示方式。
案例2:匿名函数---lambda
(1)lambda表达式1
'''
特点:
1、是一个表达式,比较简洁。
2、不是一个代码块,而是一个表达式,是可以实现一些简繁的逻辑的 '''
# Num1:直接进行传值的方式
print((lambda x,y:x+y)(2,3))
'''
输出:
5
''' # num2:
# 例如:一个整数列表,要求按照列表中元素的绝对值大小升序排列
list1 = [3,5,-4,-1,0,-2,-6]
sorted(list1, key=lambda x: abs(x))
# [0, -1, -2, 3, -4, 5, -6] '''
同理:
排序函数sorted支持接收一个函数作为参数,该参数作为 sorted的排序依据,这里按照列表元素的绝对值进行排序。
当然,我也可以用普通函数来实现:
'''
def foo(x):
return abs(x)
sorted(list1, key=foo)
# [0, -1, -2, 3, -4, 5, -6]
# 只不过是这种方式代码看起来不够 Pythonic 而已。

(一)、map函数
map函数代码原型
map(function,sequence):把sequence中的值当参数逐个传给function,返回一个包含函数执行结果的list。
如果function有两个参数,即map(function,sequence1,sequence2)。
#求1~20的平方
list(map(lambda x:x*x,range(1,21))) #Python2.x使用map(lambda x:x*x,range(1,21)) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400]
(二)、filter函数
#求1~20之间的偶数
list(filter(lambda x:x%2 == 0,range(1,21))) #Python2.x使用filter(lambda x:x%2 == 0,range(1,21)) [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
(三)、reduce函数
需要引入包:
from functools import reduce
# reduce 函数
from functools import reduce
result=reduce(lambda x,y:x+y ,range(1,101))
print(result) '''
输出:
5050 相当于先把第一个和第二个数相加,得到的结果又给了第一个参数,第二个参数是第三个数,以此类推
'''

---恢复内容结束---
【4】python函数基础的更多相关文章
- 《转》Python学习(17)-python函数基础部分
http://www.cnblogs.com/BeginMan/p/3171977.html 一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/arch ...
- Python 函数基础、有序集合、文件操作(三)
一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...
- python函数基础学习
函数的定义与调用: def 函数名(参数1,参数2): ‘’’函数注释’’’ print(‘函数体’) return 返回值 定 义:def关键字开关,空格之后接函数名和圆括号,最后冒号结尾 def ...
- 10分钟学会Python函数基础知识
看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...
- Python函数基础和函数参数
函数的定义和函数的调用 return的作用 三种参数的定义 常用的内置函数 len() 函数基础 函数的定义 def 函数名(参数): pass return 表达式 pass在这里表示什么都没有,不 ...
- python函数基础
一.基础 函数的定义 def 函数名(参数): ... 函数体 ... 返回值 #如果函数执行完毕也没有return语句时,自动return None. 空函数 如果想定义一个什么事也不做的空函数,可 ...
- python 函数基础介绍
函数是对程序逻辑进行结构化或过程化的一种编程方法.能将整块代码巧妙地隔离成易于管理的小块,把重复代码放在函数中而不是进行大量的拷贝. 一.函数创建 def 函数创建格式如下: def function ...
- Python函数基础学习(定义、函数参数、递归函数)
1.本程序是测试函数的基础.函数的参数.递归函数的测试. 函数的参数有: 必选参数.默认参数.可变参数.命名关键字参数和关键字参数 #!/usr/bin/python # -*- coding: ut ...
- python函数基础 与文件操作
函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: def function_name(arg1,arg2[,.. ...
- 4.python函数基础
一.函数 1.函数简介 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但 ...
随机推荐
- mysql5.0版本下载地址
http://dev.mysql.com/downloads/mysql/5.0.html Other Downloads: Windows (x86, 32-bit), ZIP Archive 5. ...
- Spring----最小化Spring配置
在Spring的配置文件中,我们可以使用<bean>元素定义Bean,以及使用<constructor-arg>或着<property>元素装配bean,这对于包含 ...
- 基于.NET Core2的图片上传
其实,.NET Core2的图片上传挺好做的,只是,有些坑要注意.......话不多说,上代码 public async Task<IActionResult> Upload([FromS ...
- Oracle - 为子查询提供动态结果集
曾经遇到过这样一个需求:要求为method传入String,内容如"用户ID0,用户ID1,用户ID2...",然后根据这些ID返回一个结果集作为数据表供别人查询. SELECT ...
- [C语言] 数据结构-预备知识动态内存分配
动态内存分配 静态内存分配数组 int a[5]={1,2,3,4,5} 动态内存分配数组 int len=5; int *parr=(int *)malloc(sizeof(int) * len) ...
- 三:Jquery-event
一:jq中事件 1.页面载入事件 ready()方法 格式: $(document).ready(function(){}); $(function(){}); 2.绑定事件 click(),dblc ...
- HTML5 Form Data 对象的使用
HTML5 Form Data 对象的使用 MDN: https://developer.mozilla.org/zh-CN/docs/Web/Guide/Using_FormData_Object ...
- JavaWeb学习总结(七):通过Servlet生成验证码及其应用 (BufferedImage类)
一.BufferedImage类介绍 生成验证码图片主要用到了一个BufferedImage类,如下:
- JS 中的布尔运算符 && 和 ||
布尔运算符 && 和 ||的返回结果不一定是布尔值!由此来展开一定的研究及理解. 1.首先先介绍下常见的数据类型转化为bool后的值. (常用地方)在if表达式中,javascript ...
- 菜鸟的HTML学习之路
开发网站流程 确定风格.功能(论坛.留言板.支付.用户登录等). 美工制作网页效果图(首页.列表页.内容页). 制作人员切图排版,排成网页形式. 后台程序开始写程序. 前台与后台结合. HTML注释 ...