内置函数

作用域相关

locals()#返回本地作用域中所有的名字

globals()#返回全局作用域中的名字

def func():
    a ,b = 1,2
    print(a,b)
    print(locals())#{'b': 2, 'a': 1}
print(globals())#{'__name__': '__main__', '__doc__': None, '__package__': None,
# '__loader__': <_frozen_importlib_external.SourceFileLoader objectat 0x0000000388D7E128>,
# '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>,
#  '__file__': 'D:/python/python113天/作业/day11.py', '__cached__': None,
# 'func': <function func at 0x0000000388D13F28>}

迭代器生成器相关

next(迭代器)       #返回迭代器下一个值,相当与__next__()

iter(可迭代对象)    #得到一个迭代器,相当与__iter__()

range(1,10,2)    #可迭代对象,不是迭代器

内存相关

id(对象)    #得到内存地址
hash(对象)     #得到对象的hash值,相同可hash的数据的hash值再一次程序执行过程中总是不变的
不可hash的数据类型:list,dict,set

进制转换

bin(10)  #十进制转二进制
oct(10)  #十进制转八进制
hex(10)  #十进制转十六进制

bytes('asd',encoding='utf-8')  #str--->bytes
bytearray()  #字节数组,修改时可以节省内存,查找位置

memoryview()  #字节类型的切片,不占内存
ord('')  #字符转成数字,按utf-8编码转

计算相关

divmod(1,2)  #返回商和余数
round(2.35467,2)  #精确值,保留两位小数
pow(1,2)  #求1的2次幂
sum([1,2,3])  #求和
min((1,2,3),key=abs)  #求最小值,先执行abs函数,再比较最小值
max((1,2,3))  #求最小值,先执行abs函数,再比较最小值

其他

dir(对象)  #查看一个对象拥有的方法
callable(对象)  #查看对象是否能被调用,是否是函数
help()  #查看帮助文档,使用方法
import   #导入模块
open()  #打开一个文件

input('提示')  #用户输入
print(end='',sep='',file='d:\jcc.txt')  #自动换行,end='',默认每一行后加回车,sep=''多个值输出时指定分隔符,file='':指定输出文件,默认控制台
exec('print(123)')  #执行一条python语句,exec没有返回值,执行一些简单流程控制
eval('1+2+3')  #eval有返回值,执行一些有返回值的简单运算
compile(code,'','exec')  #编译代码,转换成字节码,exec表示简单流程类编译,single表示交互类编译
complex  #复数
float  #浮点数,当小数点位数太多时就会出现输出不准确,二进制转换的原因

len(对象)  #返回长度
all([1,2,3,0])  #有任意一个值是false就返回false
any()  #有任意一个True就是True

repr('')  #带符号输出
print(repr('123'))  #输出'123'
dict()
set()
frozenset()#不可变集合

几个重要的内置函数

zip

zip(可迭代对象) 拉链方法

list1 = [1,2,3]
list2 = ['a','b','c']
dic = {'k1':1,'k2':2}#只包含key值
for i in zip(list2,list1):
    print(i)#把传入的可迭代对象按照索引组成一个个新的元组

filter

filter(函数名,可迭代对象)过滤方法,返回符合函数规则的数据

返回列表中的奇数
def is_odd(n):
    return n%2==1
ret = filter(is_odd,[1,2,3,4])

map

#map(函数名,可迭代对象)
#执行前后元素个数不变,值可能发生改变

res = map(abs,[1,2,3])
for i in res:
    print(i)#分别取绝对值

sort

#sort  在源列表的基础上进行排序
list1 = [1,3,2,4]
print(id(list1))
list2 = list1.sort(key=abs)
print(id(list2))


#sorted 重新生成一个列表,全部返回,占用内存空间
list1 = [1,3,2,4]
print(list1)
list2 = sorted(list1)
print(list1)
print(list2)

reserved

reversed() #返回一个反转列表的迭代器

gen = reversed([1,2,3])
print(gen)#<list_reverseiterator object at 0x0000008C6762F780>
for i in gen :
    print(i)

slice()

slice()#切片规则

str1 = 'abcdefghijklmopqrstuvwxyz'
s = slice(1,4)#定义一个切片规则
print(str1[s])

匿名函数

关键字 lambda
lambda (参数):(返回值)

sum1 = lambda x,y:x+y
print(sum1(1,2))

 

posted on 2018-09-01 20:21  蒋丞丞  阅读(162)  评论(0编辑  收藏  举报