标签:
lambda表达式
定义函数(普通方式)
deff1():return 123f2= lambda : 123
deff3(a1,a2):return a1+a2
定义函数(lambda表达式)
f4= lambda a1,a2: a1+a2
示例:
def f1(x):
if x % 2 ==1:
return x + 100
else:
return x
ret = map(lambda x: x + 100 if x % 2 ==1 else x, [1,2,3,4])
# print(ret)
for i in ret:
print(i)
运算结果:
101
2
103
4
内置函数
1,abs()
绝对值
参数可以是:负数、正数、浮点数或者长整形
i = abs(-123) #绝对值
print(i)
i= abs(-1.2)print(i)
i= abs(1.2)print(i)
i= abs(-11216.5)print(i)
i= abs(11216.5)print(i)
运算结果:123
1.2
1.2
11216.5
11216.5
2,all ()
循环参数
如果每个元素都为真,那么all的返回值为真
假: 0,None,"",[],(),{}, ==> 总结出;0,None,空值 为假
示例:
all([‘a‘, ‘b‘, ‘c‘, ‘d‘]) #列表list,元素都不为空或0
True
all([‘a‘, ‘b‘, ‘‘, ‘d‘]) #列表list,存在一个为空的元素
False
all([0,1,2, 3]) #列表list,存在一个为0的元素
False
all((‘a‘, ‘b‘, ‘c‘, ‘d‘)) #元组tuple,元素都不为空或0
True
all((‘a‘, ‘b‘, ‘‘, ‘d‘)) #元组tuple,存在一个为空的元素
False
all((0,1,2,3,4)) #元组tuple,存在一个为0的元素
False
all([])#空列表
True
all(())#空元组
True
3,any()
只有有一个真,则为真
defany(iterable):for i initerable:ifi:returnFalsereturn True
示例:
any([‘a‘, ‘b‘, ‘c‘, ‘d‘]) #列表list,元素都不为空或0
True
any([‘a‘, ‘b‘, ‘‘, ‘d‘]) #列表list,存在一个为空的元素
True
any([0,‘‘, False]) #列表list,元素全为0,‘‘,false
False
any((‘a‘, ‘b‘, ‘c‘, ‘d‘)) #元组tuple,元素都不为空或0
True
any((‘a‘, ‘b‘, ‘‘, ‘d‘)) #元组tuple,存在一个为空的元素
True
any((0,‘‘, False)) #元组tuple,元素全为0,‘‘,false
False
any([])#空列表
False
any(())#空元组
False
4,divmod(a,b)函数
divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数
li = divmod(10,3)print(li)
运算结果:
(3, 1)
5,eval()
可以执行一个字符串形式的表达式
ret = eval("122+45+53")print(ret)
运算结果:220ret= eval("a + 60",{"a":99})print(ret)
运算结果:159
6,exec()
可以执行py代码
exec("print(\"hello, world\")")
运算结果:
hello, world
7,filter()
过滤器
(函数,可迭代的对象)
示例:
法一:
def f1(x):
if x >22:
return True
else:
return False
ret = filter(f1,[11,22,33,44])
for i in ret:
print(i)
法二:
deff1(x):return x > 22ret= filter(lambda x: x > 22, [11,22,33,44])for i inret:print(i)
运算结果:33
44
8,map()
(函数,可以迭代的对象)
示例:
deff(x):return x *x
r= map(f, [1, 2, 3, 4, 5, 6])
list(r)
[1, 4, 9, 16, 25, 36]
9,globals()
获取全局变量 globals()对象的值能修改
deff1():
name= 123
print(globals(name))
10,locals()
获取局部变量 locals()对象的值不能修改
deff1():
name= 123
print(locals(name))
11,isinstance()
判断某个对象是否存在某个类创建的
a = 10
defb():pass
print(isinstance(a,(int,str)))print(isinstance(a,(float,str)))print(isinstance(b,(str,int)))classc:passobj=c()print(isinstance(obj,(c,int)))
运算结果:
True
False
False
True
12,__repr__
ascii对象的类中找 __repr__,获取其返回值
classFoo:def __repr__(self):return "hello"obj=Foo()
r=ascii(obj)print(r)
运算结果:
hello
13,iter()
迭代方法,依次取值
obj = iter([11,22,33,44])print(obj)
r1=next(obj)print(r1)
r2=next(obj)print(r2)
r3 = next(obj)
print(r3)
运算结果:11
22
33
14,max()
取最大值
li = ([11,22,33,44,1])
r=max(li)print(r)
运算结果:44
15,min()
取最小值
li = ([11,22,33,44,1])
r=min(li)print(r)
运算结果:1
16,pow(x,y)
求次方
i = pow(2,10)print(i)
运算结果:1024
17,sum()
求和
r = sum([11,22,33,44])print(r)
运算结果:110
18,zip()
zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表
a = [1,2,3]
b= [4,5,6]
r=zip(a,b)for i inr:print(i)
运算结果:
(1, 4)
(2, 5)
(3, 6)
19,import()
导入
import math #入导math模块
math.floor() #调用math模块中的floor()函数
python from使用方法例如:from math import floor #导入math模块中的floor函数方法
floor() #调用floor()函数方法
20,sort()
排序
li = [11,33,55,22,55,]print(li)
li.sort()print(li)
运算结果:
[11, 33, 55, 22, 55]
[11, 22, 33, 55, 55]
21,flush()
刷新内部缓冲区
示例:
f = open("foo.txt", "wb")print ("Name of the file:hello word"), f.name
f.flush()
f.close()
运算结果:
Name of the file:hello word
22,read()
读取文件内容 (给read加上一个参数,指定要读取的最大行数)
示例:
f = open("a_f.dat","rb")
data= f.read(10000)
f.close()
23,readline
readline()方法的语法:
进制
r = bin(11) #二进制
print(r)
r= oct(8) #八进制
print(r)
i= int(10) #十进制
print(i)
r= hex(14) #十六进制
print(r)
运算结果:
0b1011
0o1010
0xe
进制转换
示例:
int(10)
i= int(‘0b11‘,base=2) #二进制转换十进制
print(i)
i= int(‘0o11‘,base=8) #八进制转换十进制
print(i)
i= int(‘0xe‘,base=16) #十六进制转换十进制
print(i)
运算结果:3
9
14
字节,字符串
示例:
#bytes("xxxx",encoding="utf-8")
i= bytes("你好,世界",encoding="utf-8")
print(i)
运算结果:
b‘\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c‘
chr() 数字转换成字符 # 只适用在ascii中
示例:
c = chr(253)print(c)
运算结果:
y
ord() 字符转换成数字# 只适用在ascii中
示例:
c = ord(‘x‘)print(c)
运算结果:120
随机验证码:
importrandom
temp= ""
for i in range(6):#生成 0—4的随机数
num = random.randrange(0,4)#如果随机数是1 或 3,那么就在验证码中生成一个 0—9的随机数字
#否则,验证码中生成一个随机字母
if num == 3 or num== 1:
rad2= random.randrange(0,10)
temp= temp +str(rad2)else:
rad1= random.randrange(65,91)
c1=chr(rad1)
temp= temp +c1print(temp)
文件操作
一,打开文件
二,操作文件
三,关闭文件
open (文件名,模式,编码)
格式:
f =open("文件名","r") #r 只读模式
data=f.read()
f.close()
peint(data)
打开文件的模式:
普通方式(python内部自动转换)
1)只读模式,r
f = open("ha.log","r")
f.write("kdjaskjskasdksjdaksj")
f.close
2)只写模式,w 【不可读,文件不存在则创建;存在则清空文件内容再写入】
f = open("ha1.log","w")
f.write("sdhjf43dk3rfk")
f.close()
3)只写模式,x 【不可读;文件不存在则创建;文件存在则报错】
f = open("ha2.log","w")
f.write("dahhadiu3528")
f.close()
4)追加模式【不可读;不存在的则创建;存在则追加到末尾】
f = open("ha2.log","a")
f.write("666jjjksk")
f.close()
以字节的方式(二进制的方式)“b”
1)只读模式,rb 【文件不存在则创建;文件存在则清空内容】
f = open("ha.log","rb")
data=f.read()
f.close()print(data)
str_data= str(data, encoding="utf-8")print(str_data)
2)只读模式,wb 【文件不存在则创建;存在则清空内容】
f = open("ha.log","wb")
str_data= "中国人"bytes_data= bytes(str_data, encoding="utf-8")
f.write(bytes_data)
f.close()
同时读写文件 “+”
1)r+ 开始向后读,写时追加,指针调到最后
2)w+,先清空,再写,才可以读。写,指针到最后
3)x+如果文件存在则报错
4)a+,打开的同时指针已经移到最后,追加在最后
f.tell()#获取指针的位置
f.seek(num) #调整指针位置
f.write("")#写入
f.read("") # 读取
关闭文件
with open ("ha.log","r") as f :
f.read()
同时打开两个文件(2.7以上版本)
with open(‘log1‘,‘r‘) as obj1, open(‘log2‘, ‘r‘) as obj2:passwith open(‘源文件‘,‘r‘) as obj1, open(‘新文件‘, ‘w‘) as obj2:for line inobj1:
obj2.write(line)
标签: