内置函数补充
callable() #检测一个东西能否被调用
def f1():
pass
f2 =123
print(callable(f1))
print(callable(f2))
# chr() 数字转化成字母
# ord() 字母转化成数字
r = chr(65)
print(r)
n = ord("a")
print(n)
#随机码 65到90
import random
li = []
for n in range(6):
r = random.randrange(0,5)
if r ==2 or r ==4:
num = random.randrange(0,10)
li.append(str(num))
else:
i = random.randrange(65,91)
c = chr(i)
li.append(c)
result = "".join(li)
print(result)
#Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串,不同数据类型拼接会失败
# compile() #把字符串编译成python代码
# eval() #执行,接收:表达式,并且获取结果 有返回值
# exec() #执行python代码,接收:代码或者字符串 没有返回值
s = "print(123)"
#编译
r = compile(s,"<string>","exec")
#执行
exec(r)
m = "8*8"
ret = eval(m)
print(ret)
#dir()用来快速获取模块,对象,类提供了哪些功能 不详细
# print(dir(dict))
#help(list)查看帮助,详细
divmod()
共97条,每页显示10条,需要多少页
# r = divmod(97,10)
# print(r[0])
# print(r[1])
# n1,n2 = divmod(97,10)
isinstance()#用来判断某个对象是否是某个类的实例
s = "alex"
r1 = isinstance(s,dict)
r2 = isinstance(s,str)
print(r1,r2)
#filter
# def f1(args):
# result = []
# for item in args:
# if item > 22:
# result.append(item)
# return result
# li = [11,22,33,44,55]
# ret = f1(li)
# print(ret)
#filter(函数,可迭代的对象)
def f2(a):
if a >22:
return True
li = [11,22,33,44,55]
ret = filter(f2,li)
print(list(ret))
# #filter内部,循环第二个参数
# result = []
# for item in 第二个参数:
# r = 第一个参数(item)
# if r:
# result(item)
#return result
#filter,循环第二个参数,让每个循环元素执行函数,如果函数返回值True,表示元素合法
li2 = [11,22,33,44,55]
result = filter(lambda a: a > 33,li2)
print(list(result))
#map(函数,可迭代的对象)
li = [11,22,33,44,55]
def f1(args):
result = []
for i in args:
result.append(100+i)
return result
r = f1(li)
print(r)
def f2(a):
return a + 100
#result = map(f2,li)
result = map(lambda a: a + 100,li)
print(list(result))
#区别
#filter 函数返回True,将元素添加到结果中
#map 将函数返回值添加到结果中
#globals,locals
NAME = "wangxin"
def show():
a = 123
c = 123
print(locals())
print(globals())
show()
#hash() 一般python内部使用,知道
s = "sadfsadfsadf"
print(hash(s))
#id()查看内存地址
#len()
s = "无馨"
print(len(s)) #python3默认按照字符、也可以转化成字节查看,python2只能以字节方式查看
b = bytes(s.encoding='utf-8')
print(len(b))
#max,min,sum
r1 = max([11,22,33,44])
r2 = min([11,22,33,44])
r3 = sum([11,22,33,44])
#pow()
# 2**10
# r = pow(2,10)
# print(r)
#repr(),使用时会去调用这个对象的类里面的repr方法
#reversed,反转,同列表的反转
#round 四舍五入
#slice 和切片功能一样
# s = "wangyuehan"
# print(s[0:2])
#sorted 排序,和列表排序一样
#zip 将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
l1 = ["likai",11,22]
l2 = ["is",11,22]
l3 =["sb",11,22,33]
r = zip(l1,l2,l3)
temp = list(r)[0]
ret = ' '.join(temp)
print(ret)
装饰器
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import s2
ret = s2.f1("fafafa")
print("返回值",ret)
s2.f2(11,22)
#!/usr/bin/env python
#-*- coding:utf-8 -*-
def outer(func):
def inner(*args,**kwargs):
print('before')
r = func(*args,**kwargs)
print("after")
return r
return inner
# @ + 函数名
# 功能
# 1.自动执行outer函数并且将其下面的函数名f1当作参数传递
# 2.将outer函数的返回值,重新赋值给f1
@outer
def f1(arg):
print(arg)
return "哈哈"
@outer
def f2(a1,a2):
print("F2")
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。