python-内置函数

内置函数

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

  • 几种模式
  1. single模式,将字符串编译成单行的python代码程序
  2. eval模式,将字符串编译成表达式执行有返回值
  3. 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))
posted @ 2017-03-07 16:16  我的胡子有点扎  阅读(252)  评论(0编辑  收藏  举报