Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。接下来,记录一些本人自主学习Python的一些笔记:
all
一个可迭代对象的所有元素都为真,则返回True
print(all([1,2,3])) # True
print(all([0,1,2])) # False
any
一个可迭代对象中只要有一个元素为真,则返回True
print(any([1,0,0])) # True
print(any([0])) # False
bin
将一个十进制数字转化成一个二进制数字的字符串
print(bin(2)) # 0b10
hex
将一个十进制数字转化成一个十六进制数字的字符串
print(hex(2)) # 0x2
oct
将一个十进制数字转化成一个八进制数字的字符串
print(oct(8)) # 0o2
callable
判断一个对象是否是可以被调用的,那么什么样才是可被调用的呢,即类似于“test()”这样的写法。函数与类皆可以被调用
b = 2
def func():
pass
print(callable(b),callable(func)) # False True
exec
将一串代码字符串,以代码的形式执行
code = '''
n = 0
while n < 10:
print(n)
n+=1
'''
exec(code)
执行结果:
eval
将一串基本数据类型的字符串,转化成基本数据类型
s_list = "[1,2,3,4]"
l = eval(s_list) # 此时l已经是一个列表对象了
print(l[0]) # 1
dir
查看某个类型下的所有方法
l = [1,2,3]
print(dir(l)) # 此时将会打印列表的所有方法
divmod
获取两个数相除后的商和余数
print(divmod(5,2)) # 结果:(2,1)。5除以2得到商2,余数为1
max
获取某个可迭代对象的最大值
print(max([4,3,2,8])) # 结果:8
min
获取某个可迭代对象的最小值
print(min([4,3,2,8])) # 结果:2
sum
获取某个可迭代对象的和
print(sum([4,3,2,8])) # 结果:17
pow(a,b)
获取a的b次方
print(pow(3,3)) # 结果:27
type
查看数据类型
print(type("abc")) # 结果:<class 'str'>
round
保留小数。注意:它的保留方式是向下保留,并不是四舍五入
print(round(1.345,2)) # 结果:1.34
filter
将一个可迭代对象按某种特定方式过滤,生成一个新的可迭代对象
f = filter(lambda x : x > 5,range(10))
for index in f:
print(index) # 打印结果:6,7,8,9
map
将一个可迭代对象按某种特定方式处理,生成一个新的可迭代对象。效果与列表生成式一样
m = map(lambda x : x * 2,range(10))
for index in m:
print(index)
# 列表生成式写法
l = [x * 2 for x in range(10)]
for index in l:
print(index)
执行结果:
frozenset
将一个可迭代对象转化成一个不可变的,如将列表原来可以调用append方法,转化以后将不可调用append方法
sorted
排序
# 列表的排序
l = [3,2,4,8]
print(sorted(l)) # 结果:[2,3,4,8]
# 字典的排序。众所周知,字典是无序的,首先先将字典转化成一个元组列表,在根据key或者value排序
d = {"b":2,"d":1,"a":4}
l = sorted(d.items()) # 根据key排序
print(l) # 结果:[('a', 4), ('b', 2), ('d', 1)]
l = sorted(d.items(),key=lambda x:x[1]) # 根据value排序
print(l) # 结果:[('d', 1), ('b', 2), ('a', 4)]
zip
将两个或多个列表拼接成一个元组列表
list_1 = [1,2,3,4]
list_2 = ['a','b','c','d']
z = zip(list_1,list_2)
for index in z:
print(index)
执行结果:
__import__
相当于import,只不过import()中传入的模块的字符串名称