Python第七天   函数  函数参数   函数里的变量   函数返回值  多类型传值     函数递归调用   匿名函数   内置函数 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天  变量  运算符与表达式  input()与raw_input()区别  字符编码  python转义符  字符串格式化 Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 Python第四天   流程控制   if e…
Python(生成器,推导式,内置函数,闭包) 一.生成器初始 生成器的本质就是迭代器,python社区中认为生成器与迭代器是一种 生成器与迭代器的唯一区别,生成器是我们自己用python代码构建成的 二.生成器产生方式 生成器函数 生成器表达式 python给你提供的一些内置函数,返回一个生成器 def func() print(111) yield 2 ret=func() # 生成器对象 print(ret) # <generator object func at 0x0000000002…
匿名函数:为了解决那些功能很简单的需求而设计的一句话函数怎么定义匿名函数: cal = lambda x : x*x # cal是函数名,lambda是定义匿名函数的关键字 冒号前面的额x是参数即函数的形参,x*x是返回值 print(cal(10)) 函数名 = lambda 参数 :返回值 参数可以有多个,用逗号隔开匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值返回值和正常的函数一样可以是任意数据类型 func = lambda x, y, z : x+y+z # 匿名…
Python函数04/生成器/推导式/内置函数 目录 Python函数04/生成器/推导式/内置函数 内容大纲 1.生成器 2.推导式 3.内置函数(一) 4.今日总结 5.今日练习 内容大纲 1.生成器 2.推导式 3.内置函数 1.生成器 迭代器:Python中内置的一种节省空间的工具 生成器的本质就是一个迭代器 迭代器和生成器的区别:一个是Python自带的,一个是程序员自己写的 写一个生成器: # def func(): # print(123) # return "你好" #…
函数Ⅲ(内置函数&lambda表达式) 1.函数小高级 函数可以当做变量来使用: def func(): print(123) func_list = [func, func, func] # func_list[0]() # func_list[1]() # func_list[2]() for item in func_list: v = item() print(v) 函数可以当做参数进行传递,谁调用的函数返回值就给谁. def func(arg): print(arg) func(1)…
1 描述 enumerate() 函数用于将一个可遍历的数据对象(如列表.元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中. 2 语法 enumerate(sequence, [start=0]) sequence -- 一个序列.迭代器或其他支持迭代对象. start -- 下标起始位置. 3 返回值 返回一个enumerate对象 例如: >>> enumerate([]) <enumerate object at 0x7fa21808263…
一.内置函数 内置函数是python自带的一系列常用函数. 二.python3中内置函数     内置功能     abs() delattr() hash() memoryview() set() all() dict() help() min() setattr() any() dir() hex() next() slice() ascii() divmod() id() object() sorted() bin() enumerate() input() oct() staticmet…
本章目录: 一.三元表达式.列表推导式.生成器表达式 二.递归调用和二分法 三.匿名函数 四.内置函数 ================================================================== 一.三元表达式.列表推导式.生成器表达式 1. 三元表达式 #三元表达式格式: ''' 判定条件? 为真时的结果 : 为假时的结果 ''' # 例 result = 5>3? 1 : 0 ''' 定义函数比较两个值 ''' def max(x, y): if x…
上节课复习: 1. 无参装饰器 def 装饰器名字(func): def wrapper(*args,**kwargs): res = func(*args,**kwargs) return res return wrapper @装饰器名字 #被装饰的函数名字=装饰器名字(被装饰的函数的内存地址) def 被装饰的函数名字(): pass 2, 有参装饰器 def 装饰器名字(参数1,参数2,...): def outter(func): def wrapper(*args,**kwargs)…
目录 三元表达式 各种生成式 列表生成式(可同样作用于集合) 字典生成式 匿名函数 重要内置函数 map() zip() filter() reduce() 常见内置函数(部分) 三元表达式 三元表达式是if判断语句的简化写法,只适用于if与else连用的情况. 语法结构: res = 条件成立时返回的值 if 条件 else 条件不成立时返回的值 举例: """正常写法""" if a >= 60: res = '及格' else: re…
一.三目(元)运算符 定义:就是 if...else...语法糖前提:简化if...else...结构,且两个分支有且只有一条语句注:三元运算符的结果不一定要与条件直接性关系​ cmd = input('cmd: ') print('可以转化为数字') if cmd.isdigit() else print('不可以转化为数字') ​ ​ a = 20 b = 30 res = a if a > b else b # 求大值 print(res) ​ ​ res = 'b为小值' if a >…
匿名函数 例子 返回两个数的和 def add(x, y): return x + y # 等价于 add = lambda x, y: x + y 返回字典中值最大的key dic = {'a': 13, 'b': 3, 'c': 34} print(max(dic,key=lambda x:dic[x])) 面试题 题1 现有两元组(('a'),('b')),(('c'),('d')), 请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}] ret = zip(((…
1. 匿名函数 匿名函数,顾名思义就是没有名字的函数,那么什么函数没有名字呢?这个就是我们以后面试或者工作中经常用匿名函数 lambda,也叫一句话函数. 现在有一个需求:你们写一个函数,此函数接收两个int参数,返回和值. def func(a,b): return a+b print(func(3,4)) 那么接下来我们用匿名函数完成上面的需求: func = lambda a,b: a+b print(func(3, 4)) # 7 我们分析一下上面的代码: 语法: 函数名 = lambd…
迭代器 迭代器对象:有__next__()方法的对象是迭代器对象,迭代器对象依赖__next__()方法进行依次取值 with open('text.txt','rb',) as f: res = f.__next__() # 第一行内容 print(res) res = f.__next__() # 第二行内容 print(res) 生成器 定义生成器的两种方式: # generator保存的是算法,每次调用next(),就计算出下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出S…
一个二分查找的示例: # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, 66] def binary_search(dataset, find_num): print(dataset) if len(dataset) > 1: mid = int(len(dataset) / 2) if dataset[mid] == find_num: # find it print…
1.匿名函数 匿名就是没有名字 def func(x,y,z=1): return x+y+z 匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用一次就释放,除非让其有名字 func=lambda x,y,z=1:x+y+z func(1,2,3) #让其有名字就没有意义 #有名函数与匿名函数的对比有名函数:循环使用,保存了名字,通过名字就可以重复引用函数功能 匿名函数:一次性使用,随时随时定义 应用:map,reduce,filter 语法…
递归函数: 什么是递归函数? 函数递归调用:在调用一个函数的过程中,又直接或间接地调用了该函数本身. 递归必须要有两个明确的阶段: ①递推:一层一层递归调用下去,强调:每进入下一层问题规模减少 ②回溯:递归必须要有一个明确的结束条件,在满足该条件时,结束递推,开始一层一层回溯 递归的精髓在于通过不断地重复逼近一个最终的结果 递归的应用: 二分法: l=[1,2,10,30,33,99,101,200,301,311,402,403,500,900,1000] #从小到大排列的数字列表 def s…
目录 有名函数 匿名函数 max() min() sorted map filter 内置函数 面向过程编程 有名函数 def f1(): print('my name is f1') f1() my name is f1 匿名函数 没有函数名的函数 lambda关键字定义 语法: lambda x,y(参数): x+y(逻辑代码) # 这样做就成了一个有名函数了 f = lambda x,y:x+y print(f(1, 2)) # 这样调用没有什么实际意义 print((lambda x,y…
一.生成器 初识生成器 生成器的本质就是迭代器,在python社区中,大多数时候都把迭代器和生成器是做同一个概念. 唯一的不同就是: 迭代器都是Python给你提供的已经写好的工具或者通过数据转化得来的,(比如文件句柄,iter([1,2,3]). 生成器是需要我们自己用python代码构建的工具.最大的区别也就如此了. 生成器的构建方式 在 python 中有三种方式来创建生成器: 通过生成器函数 通过生成器推导式 python内置函数或者模块提供(其实1,3两种本质上差不多,都是通过函数的形…
##################     内置函数        #######################  """ 一共是 68个内置函数: 反射相关的内置函数4个: setattr() delattr() hasattr() getattr() 和作用域相关的两个: globals() locals() 数据结构相关的: set() list() dict() int() float() tuple() bool() complex() 和字符串相关的: str…
花下猫语:Python 中很多内置函数的作用都非常大,比如说 enumerate() 和 zip(),它们使得我们在作迭代操作时极为顺手.这是一篇很多年前的 PEP,提议在 Python 2.3 版本中引入 enumerate(),该文档整合了其它几篇 PEP 的想法(包括当时新引入的迭代器与生成器),提出了更好的实现方案以及函数名.经过这么多年的发展,enumerate() 不可避免地有了一些变化,但不变的是,它跟 19 年前一样,还是很有必要.很好用,用着真香! PEP原文: https:/…
内容概要 异常捕获(补充) for循环本质 生成器 yield 和 return优缺点 笔试题 常用内置函数 内容详细 一.异常捕获补充 try: print(name) except NameError as e: print('接收类型错误') except Exception: print('接收所有错误类型') else: print('代码出错的时候才会执行这段代码') finally: print('无论代码出不出错,都会执行这段自代码') # 主动报错,一般用于监控某些代码运行到一…
Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.filter.map.reduce 进行初步的学习.reduce 仅提一下,递归的方法建议用循环替代. lambda 匿名函数 lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值. lambda语句构建的其实是一个函数对象,参考下例来感受下 lambda 匿名函数: def f(i…
魔法函数 __init__函数 init函数会在实例化A这个类的时候被调用 class A(): def __init__(self): print('__init__函数') a = A() 显示结果: __init__函数 __call__函数 class A(): def __call__(self): print('__call__函数') a = A() a() 显示结果: 但类被当成一个函数的时候会被调用 如果不写A类的call函数的话,会怎么在运行程序会怎么样呢? Tracebac…
内置函数(Built-in Functions) 截止到3.6版本,python一共为我们提供了68个内置函数.它们就是python提供给的可以直接拿来使用的所有函数,接下来让我们一起认识一下这些函数. Built-in Functions abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() ascii() enumerate() in…
5.15 内置函数 方法 含义 备注 abs(-1) 求绝对值 1 all ([1,'a',True]) 列表中所有元素的布尔值为真,最终结果才为真 True all ('') 传给all的可迭代对象如果为空,最终结果为真 True any([0,'',None,False]) 列表中所有元素的布尔值只要有一个为真,最终结果就为真 False any([]) 传给any的可迭代对象如果为空,最终结果为假 False callable('aaaa'.strip) 判断某个对象是否是可以调用的,可调…
官方文档[http://www.cnblogs.com/dingkailinux/p/7954484.html] 1.int()函数,表示整形,如 1,2,-1,-2. 2.float()函数,表示浮点型,如 1.0 2.10 -0.10. 3.str()函数,表示字符串. 4.print()函数,将括号内的字符串显示在屏幕上. 5.input()函数,等待用户在键盘上输入一些文本,并按下回车键. 6.len()函数,传递一个字符串(或包含字符串的变量),然后该函数求值 为一个整型值,即字符串中…
1 描述 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表. 也即:返回一个zip对象,此对象用于生成元组,此元组的个数由最小的可迭代对象决定 2 语法 zip([iterable/iterator, iterable/iterator, ...]) 参数 iterable/iterator可以是迭代对象,也可以是迭代器 参数个数…
1.初始函数 2.函数嵌套及作用域 3.装饰器 4.迭代器和生成器 6.内置函数 7.递归函数 8.匿名函数 9.函数相关定义 10.三元表达式.列表推导式.生成器表达式 11.函数与方法的区别  …
三目运算符 # 三目(元)运算符:就是 if...else...语法糖# 前提:简化if...else...结构,且两个分支有且只有一条语句# 注:三元运算符的结果不一定要与条件直接性关系​cmd = input('cmd: ')print('可以转化为数字') if cmd.isdigit() else print('不可以转化为数字')​​a = 20b = 30res = a if a > b else b  # 求大值print(res)​​res = 'b为小值' if a > b…