---恢复内容开始---

案例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函数基础的更多相关文章

  1. 《转》Python学习(17)-python函数基础部分

    http://www.cnblogs.com/BeginMan/p/3171977.html 一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/arch ...

  2. Python 函数基础、有序集合、文件操作(三)

    一.set 特点: set是一个无序且不重复的元素集合访问速度快:天生解决元素重复问题 方法: 初始化 >>> s1 = set()>>> print(type(s ...

  3. python函数基础学习

    函数的定义与调用: def 函数名(参数1,参数2): ‘’’函数注释’’’ print(‘函数体’) return 返回值 定  义:def关键字开关,空格之后接函数名和圆括号,最后冒号结尾 def ...

  4. 10分钟学会Python函数基础知识

    看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了.最好还是把代码敲一下. 一.函数基础 简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运 ...

  5. Python函数基础和函数参数

    函数的定义和函数的调用 return的作用 三种参数的定义 常用的内置函数 len() 函数基础 函数的定义 def 函数名(参数): pass return 表达式 pass在这里表示什么都没有,不 ...

  6. python函数基础

    一.基础 函数的定义 def 函数名(参数): ... 函数体 ... 返回值 #如果函数执行完毕也没有return语句时,自动return None. 空函数 如果想定义一个什么事也不做的空函数,可 ...

  7. python 函数基础介绍

    函数是对程序逻辑进行结构化或过程化的一种编程方法.能将整块代码巧妙地隔离成易于管理的小块,把重复代码放在函数中而不是进行大量的拷贝. 一.函数创建 def 函数创建格式如下: def function ...

  8. Python函数基础学习(定义、函数参数、递归函数)

    1.本程序是测试函数的基础.函数的参数.递归函数的测试. 函数的参数有: 必选参数.默认参数.可变参数.命名关键字参数和关键字参数 #!/usr/bin/python # -*- coding: ut ...

  9. python函数基础 与文件操作

    函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: def function_name(arg1,arg2[,.. ...

  10. 4.python函数基础

    一.函数 1.函数简介 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但 ...

随机推荐

  1. [转].Net实现本地化简易教程

    本文转自:https://www.cnblogs.com/csdbfans/archive/2011/10/17/2214048.html 实现多语言版本的支持,就是所谓的国际化,也说是本地化. 今天 ...

  2. Navbar和Tabbar常用设置

    1.navBar [self.navigationController.navigationBar setBackgroundImage:navBarImage forBarMetrics:UIBar ...

  3. jstack,jmap,jstat分别的意义

    1.Jstack 1.1   jstack能得到运行java程序的java stack和native stack的信息.可以轻松得知当前线程的运行情况.如下图所示 注:这个和thread dump是同 ...

  4. Eclipse中新建Java工程的三个JRE选项区别

    整理自:https://blog.csdn.net/wdjhzw/article/details/42086615 官方解释(链接) Use default JRE: When selected, t ...

  5. AutoFac在项目中应用的体会

    AutoFac的工作原理就是:注册类并映射到接口,通过注入后返回相应实例化的类! 先来简单介绍下Autofac的使用      1.通过Nuget或代码安装autofac 安装autofac :ins ...

  6. node.js(http协议)

    七层网络协议 应用层:浏览器(http,FTP,DNS,SMTP,TeInet)(邓哥)表示层:加密,格式转换(怕别人偷看,加密摩斯电码)会话层:解除或者建立和其他节点的联系(邓哥在想追这个女孩,不再 ...

  7. 自定义TableViewCell 的方式实现自定义TableView(带源码)

    转载于:http://www.cnblogs.com/macroxu-1982/archive/2012/08/30/2664121.html 实现的效果 实现过程 Step One 创建 自定义Ta ...

  8. Cannot perform conversion to XML from legacy HTML:

    错误信息:Cannot perform conversion to XML from legacy HTML: The nekoHTML library is not in classpath. ne ...

  9. git使用总结(常用命令)

    前言 写这篇文章的目的是让新手能够操作git管理自己的代码,可能你知道git的各种命令但是对其使用顺序并不熟,比如我.所以有必要整合一篇关于命令使用步骤的文章,图片用的人家的,也没询问让不让用,可能会 ...

  10. WPF 中的OpenFileDialog和 OpenFolderDialog

    OpenFolderDialog: using (var dialog = new System.Windows.Forms.FolderBrowserDialog() { SelectedPath ...