Python之路【第十四篇】:Python的内置函数

Python中自带了一些内置函数,如下图所示

 详细说明可以戳这里

本篇中并不是一一介绍所有的内置函数,有一些内置函数会在以后的学习中慢慢接触到

abs():求绝对值函数

print(abs(-12345))

all():用于判断可迭代对象是否每个参数都为真,都为真返回True,否则返回False

print(all([1,2,3,4,5]))
print(all(['',123]))
print(all([]))

返回结果分别为:True  False  True

any():只要可迭代对象任意参数为真,返回True

bool():将参数转换为True或者False,对于数字来说,除了0都为真,None也是False,空字符串、列表、元组等也为False

print(bool(''))
print(bool([]))
print(bool(()))
print(bool('1'))
print(bool(['',]))
print(bool(('',)))

分别输出False,False,False,True,True,True

ascii(对象):只要执行,就会去对象的类中找__repr__这个函数,获取其返回值,很少用这个函数,如:

def f():
    def __repr__(self):
        return 'hello'

obj = f()
r = ascii(obj)
print(r)

bin()二进制,将十进制转换为二进制,如:10--->0b1010

oct()八进制,将十进制转化为八进制,如:10--->0o12

int()十进制,将二进制,八进制或者十六进制转化为十进制,如:int(‘0b1010’,2)--->10或者这样写:int('1010',2)

hex()十六进制,将十进制转化为十六进制,如:10--->0xa

bytes():将字符串转化为相应的字节,返回一个可迭代的字节的集合,如:bytes('hello',encoding='utf-8'),将hello转化为对应的utf-8编码集合

bytearray():字节数组

chr(数字):接受一个数字,返回其对应的ascii字符,如print(chr(97))--->a

ord(字符):接受一个字符,返回其对应的ascii码值,如print(ord('a'))--->97

#随机验证码的小程序
import random

temp = ''
for i in range(6):
    num = random.randrange(0,4)
    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 + c1

print(temp)

callable()判断一个对象是否可执行,一般后面有括号就是可执行的,否则就是不可执行的,可执行返回True

compile()接受一个字符串,把字符串编译成python可执行的代码,我们一般用不到,但是要知道,写完python文件,执行的时候,作为一个文件读进内存,是一个字符串,然后通过compile()编译成代码

complex()复数,一般用不到

dir()查看一个对象或类所提供的功能,详细的要用help()

divmod()特有用,返回商和余数的一个元组

eval()与exec(),通过eval()可以执行一个字符串形式的表达式,有返回值的,如eval('1+2'),eval('a+7',{'a':8})

exec()无返回值,把字符串当python代码执行exec('for i in range(10):print(i)')

filter(函数,可迭代对象),循环可迭代的对象,获取每一个参数,函数(参数),返回一个列表,如果函数返回true,就添加到返回值列表中,如:

def f1(x):
    if x > 22:
        return True
    else:
        return False
ret = filter(f1, [11, 22, 33, 44])
for i in ret:
    print(i)

输出结果为[33,44],写成lambda表达式形式:

ret = filter(lambda x:x > 22, [11, 22, 33, 44])
for i in ret:
    print(i)

返回的ret像range()一样,只有在循环迭代的时候才会输出,直接输出会输出一个filter对象

map(函数,可迭代对象),如:

def f1(x):
    return x+100
ret = map(f1,[1,2,3,4,5])
print(ret)
for i in ret:
    print(i)

lambda写法:

ret = map(lambda x:x+100,[1,2,3,4,5])
print(ret)
for i in ret:
    print(i)

format():字符串格式化,暂不详述,会单独学习

frozenset():将set冻结,使其不能添加元素

globals():获取当前代码所有的全局变量

locals():获取当前代码所有的局部变量

hash():计算哈希值,在python中,哈希值一般用在字典key的保存上,做一个key的优化,因为有时候key会比较长,为了节省内存,同时又易于找到,就会计算一个哈希值

iter():迭代器,也会产生一个可迭代的对象,通过执行next,一个个取值:

obj = iter([1,2,3,4,5])
print(obj)
r1 = next(obj)
print(r1)
r2 = next(obj)
print(r2)
r3 = next(obj)
print(r3)

分别取到了1,2,3

max():最大值
min():最小值
open()打开文件
pow()
round()四舍五入
sorted()排序
sum()求和
zip()
__import__():导入模块,比如;import random random.randrange 可以改成这样:r = __import__(random) r.randrange()

sorted():排序,默认从小到大排序,使用sorted排序数据需要是同一种类型,比如全是数字,全是字符串

 

posted @ 2018-01-27 11:16  RongHe  阅读(144)  评论(0编辑  收藏  举报