一.列表生成式 1.列表生成式就是python内置的一种用来生成list的生成式. 比如下面这个例子: l=[] for i in range(10) list.append(i) 生成一个列表要用循环语句此次添加元素.如果我们用列表生成式,一句话即可: l=[i for i in range(10)] #这个生成式的操作是,for循环执行后得到的i,返回给前面的i.这样执行结束后,l=[0,1,2,3,4,5,6,7,8,9] l1=[str(num).zfill(2) for n0um in…
一.内置函数 所谓内置函数就是Python自带的函数 print(all([0,2,3,4])) #判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4])) #判断可迭代的对象里面的值是否有一个为真 print(bin(10)) #十进制转二进制(0b1010:ob代表二进制,10的二进制是1010) print(bool('a')) #把一个对象转换成布尔类型(非空即真,非0即真) print(callable('aa')) #判断传入的对象是否可调用 print(c…
一.非空即真: Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false 布尔型,False表示False,其他为True 整数和浮点数,0表示False,其他为True 字符串和类字符串类型(包括bytes和unicode),空字符串表示False,其他为True 序列类型(包括tuple,list,dict,set等),空表示False,非空表示True None永远表示False 举例一:s = '' if s: print('走if') else:…
多个装饰器: 加载顺序:由下而上 执行顺序:由上而下 有参装饰器: 闭包,给函数传参的一种方法 当装饰器内需要参数时,可以采用闭包形式给其传参,第三层函数接收完参数时,就变为无参装饰器 三元表达式: 在不影响可读性的情况下,将只有两种结果的if判断,写为一行 x if x>y else y 左边为条件成立时的返回值,else后为条件不成立的返回值 匿名函数 lambda x,y :x+y 冒号左边为传入的参数,右边为返回的结果 应用场景:用一次就不用了 匿名函数不会单独使用,与内置函数配套使用…
三元表达式 s = '不下雨' if s == '下雨': print('带伞') if s == '不下雨': print('不带伞') #等效与以下语句 print('带伞' if s == '下雨' else '不带伞') # 三元表达式 函数定义 def login(username,password): #定义login函数 """登陆""" name=input("请输入您的用户名: ").strip() #去除输…
1.1迭代器 什么是迭代器: 迭代器是一个可以记住遍历的位置对象 迭代器对象从集合的第一个元素元素开始访问,直到所有元素被访问完结束,迭代器只能往前不会后退. 迭代器有两个基本方法:iter ,next 方法 内置函数iter(),next()  本质上都是用的对象.__iter__(),__next__()的方法 内置函数 iter(iterable),表示把可迭代对象 变成迭代器(iterator) 内置函数next(iterator) ,表示查看下一次迭代的值(当然也可以用 iterato…
生成器: 函数与yield连用,凡是函数中有yield的,调用该函数的时候均不会立即执行,而是会返回一个生成器. 生成器本质上是一个迭代器,需要通过    [生成器.__next__()]或者[next(生成器)]取值. 创建生成器的函数中的return只有终止函数的功能,不会有任何返回值. yield:yield会保存函数的暂停状态,并返回一个生成器,以后每次执行一次yield会向生成器中增加一个值.yield一定要在函数内部定义. yield与return的区别: yield可以执行无数次返…
5.16 列表生成式 l=[]for i in range(100):    l.append('egg%s' %i)print(l)​l=['egg%s' %i for i in range(100)]l=['egg%s' %i for i in range(1000) if i > 10]print(l) 5.17 列表生成式与生成器表达式的应用 names=['egon','alex_sb','wupeiqi','yuanhao','lxx']res=map(lambda x:x.uppe…
Python中的列表生成式和多层表达式 如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表? L=[]; ,): L.append(x*x) print L print ("+++++++++并不漂亮分割线之论缩进的重要性++++++++++") print L 其实有一种更简单的写法,比如,你看: print [x*x ,)] 略需要注意的就是需要把x*x放到for的前面,那如何想要得到其是1到10内是偶数的平方列表呢.这个应该如何,怎么,how to 搞?其实也很…
函数式接口详细定义 package java.lang; import java.lang.annotation.*; /** * An informative annotation type used to indicate that an interface * type declaration is intended to be a <i>functional interface</i> as * defined by the Java Language Specificat…