目录
内置函数
abs
- 取绝对值
print(abs(-1))
all和any
- bool判断
- all() #接收一个可以被迭代的对象,每一个都为真,则返回真
- any() #接收一个可以被迭代的对象,只要有真则为真
- bool值为false的一些数据
0
,None
,空字符串
,空列表
,空元组
,空字典`
print(all([1,2,3,None]))
ascii()
- 自动执行对象的__repr__方法
class Foo:
def __repr__(self):
return "111"
print(ascii(Foo()))
bin、oct和hex
- bin() #接收十进制,返回相应的二进制0b开头
- oct() #接收十进制,返回相应的八进制0o开头
- hex() #接收十进制,返回相应的十六进制0x开头
n=10
print(bin(n))
print(oct(n))
print(hex(n))
bytes
-
把一个字符串转换为字节类型:bytes(s,encoding="类型")
-
utf-8 一个汉字三个字节,gbk 一个汉字两个字节
s = "理解"
print(bytes(s,encoding="utf8"))
print(bytes(s,encoding="gbk"))
#字节转换成字符串使用str方法
print(str(bytes(s,encoding="utf8"),encoding="utf8"))#必须使用相同的编码,不同则出现乱码
callable
- 是否可以被调用
print (callable([])) #对象后面可以加`()`既可以被调用
False
def func():pass
print(callable(func))
dir
- 快速获取某个对象提供的功能
print(dir(dict))
help
- 列出对象的所有功能及使用方法
help(dict)
divmod
- 计算商与余数,分页使用的方法
r1,r2 = divmod(99,10)
print(r1,r2)
isinstance
- 判断某个对象是不是某个类的实例
s = "123asd"
print(isinstance(s,str))
filter
- filter内部,会循环第二个参数,以第一个参数代表的函数作为执行体,结果为真,将真的结果返回,filter内部实现了筛选的工作
result = []
def f1(args):
for item in args:
if item > 22:
result.append(item)
return result
li = [11,22,33,444,55]
ret = f1(li)
print(ret)
filter(函数,可迭代对象)
def f2(args):
if args > 22:
return True
li = [11,22,33,444,55]
ret = filter(f2,li)
print(list(ret))
f1 = lambda a:a > 30 #lamba内部自动return
ret = f1(90)
print(ret)
map
-
在内部实现,对每一个元素进行处理,处理方式看你的函数是怎样的要求
-
map(函数,可迭代对象)
-
自己实现
def f1(args):
result = []
for i in args:
result.append(100+i)
return result
r = f1(li)
print(list(r))
- map实现
def f2(args):
return args + 100
result = map(f2,li)
print(list(result))
- map+lambda
result = map(lambda a:a+100,li)
print(list(result))
locals和globals
- locals列出所有的局部变量
- globals列出所有的全局变量
NAME = "alex"
def f1():
a = 123
print(locals()) # 列出所有的局部变量
print(globals()) # 列出所有的全局变量
f1()
hash
- 将传入的对象转换为一个哈希值作为一个字典的key来存储,所有语言实现方法相同
s = "hhh"
print(hash(s))
callable
- 函数是否能被调用执行,返回bool值
def f1():
pass
f2 = 123
print(callable(f1))
print(callable(f2))
chr和ord
- 将一个ascii码值转换为对应的表示,输入的必须为数字
print(chr(65))
- 将一个值转换为对应的ascii码值(0b)
print(ord("B"))
compile、eval、exec
- 几种模式
- single模式,将字符串编译成单行的python代码程序
- eval模式,将字符串编译成表达式执行有返回值
- exec模式,将字符串编译成跟python一样的程序执行无返回值
#先去编译
s = "print(123)"
r = compile(s,"<string>","exec")
print(r)
#再去执行
exec(r)
s = '8*8'
r = eval(s)
print(r)
len
- 长度
#2.x 按字节
for i in "理解":
print(i)
#3.x 按字符
for i in "理解":
print(i)
pow
- 幂运算
print(pow(2,10))