标签:
Hello Python :)
补充细节:Python传递列表、字典等的是传地址,没有传值一说。
正题开始!
lambda表达式:
例子:
无参版:
fun1 = lambda : 123
ret1 = fun1()
print(ret1)
#输出123
带参版:
fun2 = lambda a1 , a2 : a1 + a2
ret2 = fun2(1,2)
print(ret2)
#输出 3
总结: 没有lambda表达式,不影响Python正常发挥,但是有了lambda表达式,会让Python看起来更加简单
Python内置函数(一):
abs():绝对值
all():传入一个可迭代的对象,循环参数。如果每个元素都是真值,则返回True,否则False。例子:
test1 = all([True , True , False])
test2 = all([True , True , True])
print(test1 , test2)
#输出False True
细节:在Python中,0、None、空值(空字符串、空列表、空元组、空字典)都是假,其他的都是真的
any():只要有一个为真,则返回真。
ascii():传入一个对象,这个方法就回去对象的类中,找__repr__(),获取其返回值。
bin()、oct()、hex()、int()分别是二进制、八进制、16进制、十进制,用来进制转换。
bool():判断真假,把一个对象转换成布尔值。
bytes()、bytearray():分别是字节和字节列表,记住bytes("XXX" , encoding = ‘utf-8‘)就好
chr()、ord():chr函数接受一个数字,然后找到这个数字相对应的ascii码并返回。ord则反之。
callable():判断一个对象是否可执行。
divmod():例子:
print(divmod(10,3))
#输出(3,1)
eval():例子:
print(eval("1 + 3"))
#输出4
细节:值得注意的是,eval()支持变量形式
exec():用来执行Python代码,例子:
exec("for i in range(10):print(i)")
#输出1,2,3,4,5,...(10行)
filter():参数分别为:函数、可迭代对象。循环可迭代的对象,获取每一个元素,每一个元素作为第一函数的参数执行。例子:
fun = lambda a : True
ret = filter(fun , [11,22,33,44,55])
for i in ret:
print(i)
#输出11,22,33,44,55
map():与上面的大同小异:
ret = map(lambda a : a+100 , [1,2,3,4,5])
for i in ret:
print(i)
#输出101,102,103,104,105
globals():获取全部的全局变量。还有相对应的locals()。
hash():数据结构的优化,涉及到了哈希算法。
isinstance():判断某个对象是否由某个类创建的。
issubclass():判断某个类是否为一个类的子类
range():...
max():取最大值。
pow():求指数。
repr():和ascii()效果相同,不过ascii()会给汉字一个转译,repr()会原样输出
round():四舍五入
sorted():排序
sum():求和,一般传入一个列表返回和
zip():例子:
文件操作:
1)打开文件
open(文件名 , 打开模式 , 编码) ,后两个参数有默认值(只读和utf-8)
打开模式:(字符串)
r:只读
w:只写,不存在则创建,存在则清空内容然后再写入。不可读
x:只写,不存在则创建,存在则报错。不可读
a:追加,不存在则创建,存在则在尾部追加,不可读.
打开模式:(字节,不用设置编码哦!)
rb:只读
wb:只写(要注意写的时候要转换成字节)
...
2)操作文件
read()
write()
seek():调整指针的位置
tell():获取当前的指针位置
flush():刷新文件内部的缓冲区
readline():读取一行数据
truncate():截取。指针在哪里,就截取指针前面的内容,后面的删掉,依赖指针
3)关闭文件
a) close()
b) with open(文件名,打开模式) as obj : 这句代码等效于f = open(...),但是,不同点在于上句代码已经不用close()了,Python内部会自动去关闭文件,值得注意的是:with关键字已经可以支持多个文件的打开了。
标签:
原文地址:http://www.cnblogs.com/AirStark/p/5720087.html