python基础之内置函数

内置函数

abs()

1 a = abs(-1)#取绝对值
2 print(a)

bool()

1 0,None,[],"",(),返回false
2 print(bool())#布尔值

all()

1 #所有为真才为真,有一个是假是假
2 n = all([11,22,33,44])
3 print(n)

any()

1 #只要有真就为真
2 n = any([0,[],{},1])
3 print(n)

int(),otc(),bin(),hex()

int()#转换成10进制
oct()#转换成八进制
bin()#转换成二进制
hex()#转换成十六进制
print(bin(5))
print(oct(5))
print(hex(15))
print(int("10101001",2))

bytes,str

#bytes(只要转换的字节,按照什么编码)
s ="alex"
n = bytes(s,encoding="utf-8")
print(n)

n = bytes("大明",encoding="gbk")
print(n)

#str (字节转换成字符串)
new_str = str(bytes("大明",encoding="utf-8"),encoding="utf-8")
s = "大明"
b = bytes(s,encoding="utf-8")
print(len(s))#按照字符来找是2,在python2.7里面按照字节来找是6
print(len(b))#按照字节来找

callable()

#callable(函数)#判断函数是否可被调用 返回True or False
def f1():
    pass
f1()
f2=123
print(callable(f1))
print(callable(f2))

chr(),ord()

#chr()#判断在ASCII码表中,第65个是什么
r = chr(65)
print(r)

#ord()
n = ord("B")#判断在ASCII码表中,大写的B,第多少个
print(n)

random()

import random #随机模块
i = random.randrange(65,91)#随机产生的范围大于等于65小于91
c = chr(i)#把每一个所产生的的数字转换成在ASCLL码表里面对应的字母
print(c)

li = []
import random
for i in range(6):
    temp = random.randrange(65,91)
    c = chr(temp)
    li.append(c)
result = "".join(li)
print(result)

exec(),eval()

 1 #当打开python文件内容时:
 2 #1、python读取文件内容时调用open函数以字符串的形式加载到内存
 3 #2、python的内部,把字符串 -> 编译成 -> 特殊的代码
 4 #3、执行代码
 5 '''
 6 '''
 7 s = "print(123)"
 8 
 9 #编译
10 r = compile(s,"<string>","exec")
11 #执行
12 exec(r)#编译成跟python代码一模一样的东西
13 
14 n = "8*8"
15 eval(n)#编译成表达式
16 #将字符串编译成python代码
17 compile()
18 #执行
19 exec()能执行python代码,接收:代码跟字符串,没有返回值
20 eval()只能执行表达式,返回值,只能做表达式的运算。
21 '''
22 n = exec("7+8+9")
23 print(n)#返回None,没有返回值
24 
25 r = eval("7+8+9")
26 print(r)#返回值为24
27 dir
28 print(dir(dict))#查看对象提供的功能

help()

help()
help(list)#详细查看源码

divmod()

#共97条数据,每页显示10条,一共需要多少页
r = divmod(97,10)#做一个除法运算
print(r)
(9, 7)#商,余数
n1,n2 = devmod(97,10)

isinstance()

s = "damin" #创建了一个对象 "damin" =>str 都是创建了一个类 (list str dict )对象都是类的实例
r = isinstance(s,str) #判断对象跟类是否为实例
print(r)#返回True or False

filter(),map()

#filter跟map
def f1(args):#筛选
    result = []#结果
    for item in args:#把所传入函数的值临时赋值给item
        if item > 22:#当item大于22时
            result.append(item)#在result后面追加
    return result #返回值
li = [11,22,33,44,55]
r = f1(li)
print(r)


#filter(函数,可迭代的对象[列表,字典,元组])根据True or False 来判断元素是否保留
def f2(a):
    if a > 22:
        return True
li = [11,22,33,44]
# filter ,循环第二个参数,让每个循环元素执行 函数,如果函数返回值True,表示合法元素把值传给ret
ret = filter(f2,li)
print(list(ret))  # 以列表的方式打印所输入的值

#自动返回值
f1 = lambda a : a > 10
ret = f1(10)
print(ret)
#利用lambda表达式进行筛选功能
li = [11,22,33,44,55]
result = filter(lambda a:a>33,li)
print(list(result))

#map(函数,可迭代的对象(可以被for循环的东西)) 是在函数返回值的基础上进行变化
li = [11,22,33,44,55]
def f1(a):
    return a +100
result = map(f1,li)
print(list(result))

result = map(lambda a:a+100,li)
print(list(result))


NAME = "ALEX"

def f1():
    a = 10
    c = 20
    print(locals())#局部变量
    print(globals())#全局变量

f1()

hash()

s = "hhh"

print(hash(s))#生成hash(哈希值)
#生成的hash值一般用于字典里面
dict = {
-3309950391450246349:1
}

id()

name = "damin"
print(id(name))#查找在内存中的地址

max(),min(),sum()

1 r = max(11,22,33,44,55)#输出最大值
2 print(r)
3 
4 n  = min(11,22,33,44,55)#输出最小值
5 print(n )
6 
7 i = sum([11,22,33,44,55])#求和
8 print(i)

pow()

2**10
r = pow(2,10)#前面写数,后面写多少次方
print(r)

reverse()

li = [11,22,33,44,55]
li.reverse()#反转
reversed(li)

round()

#四舍五入
r = round(1.8)
print(r)

zip()

li = ["name",11,22,33]
l2 = ["is",11,22,33]
l3 = ["damin",11,22,33]
r = zip(li,l2)#会把两个列表里面的元素第一个值组合成元组,两个列表的第二个值组合成元组
print(dict(r))
效果:{33: 33, 'name': 'is', 11: 11, 22: 22}
print(list(zip(li,l2,l3)))
效果:[('name', 'is', 'damin'), (11, 11, 11), (22, 22, 22), (33, 33, 33)]
li = [11,22,33,44]
print(list(zip(li))
效果:[(11,), (22,), (33,), (44,)]#会把列表里面的每个元素都转成元组为一个元素组成一个列表

 

posted @ 2017-03-21 15:14  墨羽丶  阅读(106)  评论(0编辑  收藏  举报