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

案例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. Angular待办事项应用2

    todo组件 接上一篇,在根目录创建todo组件 命令行输入:ng g c todo 得到 文件结构 修改默认路由为todo: 然后打开浏览器:http://localhost:4200/ ,查看,t ...

  2. C#中深拷贝和浅拷贝

    一:概念 内存:用来存储程序信息的介质. 指针:指向一块内存区域,通过它可以访问该内存区域中储存的程序信息.(C#也是有指针的) 值类型:struct(整形.浮点型.decimal的内部实现都是str ...

  3. Directory文件类

    创建一个新文件 Directory.CreateDirectory(@"C: \Users\enle\Desktop\new");//路径 Console.WriteLine(&q ...

  4. spring boot 学习入门篇【spring boot项目的搭建以及如何加载jsp界面】

    [ 前言]  Spring Boot 简介:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置, ...

  5. Spring系列之——springboot解析resources.application.properties文件

    摘要:本文通过讲解如何解析application.properties属性,介绍了几个注解的运用@Value @ConfigurationProperties @EnableConfiguration ...

  6. java并发编程的艺术(二)---重排序与volatile、final关键字

    本文来源于翁舒航的博客,点击即可跳转原文观看!!!(被转载或者拷贝走的内容可能缺失图片.视频等原文的内容) 若网站将链接屏蔽,可直接拷贝原文链接到地址栏跳转观看,原文链接:https://www.cn ...

  7. LDA和PCA区别

    https://blog.csdn.net/brucewong0516/article/details/78684005

  8. 浅谈脚本化css(三)之方块运动函数

    我们可以写一个让小方块运动的函数: div#demo { width: 100px; ; position: absolute; ; ; } var div = document.getElement ...

  9. vue实现上传上删除压缩图片

    <script> import {Config} from '@/config.js' import {mapState} from 'vuex' import {LocalData, t ...

  10. 安装部署 OpenPAI Install OpenPAI on Ubuntu

      介绍 不管是机器学习的老手,还是入门的新人,都应该装备上尽可能强大的算力.除此之外,还要压榨出硬件的所有潜力来加快模型训练.OpenPAI作为GPU管理的利器,不管是一块GPU,还是上千块GPU, ...