python-内置函数
input
len返回对象的长度
type返回对象的类型
print(type(5)) # 输出 <class 'int'>
isinstance检查一个对象是否是指定类或其派生类的实例
range整数序列
根据函数值进行排序:sorted
实例:
def f(x):
y=x+10
return y
l=[2,1,5,4,3]
s=sorted(l,key=f,reverse=True) #排序列表l
#key=f 可选参数 根据函数f的返回值进行排序
#reverse=True 可选参数,按照降序排列
list=[2,-3,1,8,-6] s=sorted(list,key=abs,reverse=True) print(s)
sort对原列表进行排序
list=[2,-3,1,8,-6] list.sort(key=abs,reverse=True) """ 参数1:可选参数 根据函数的返回值进行排序,函数可以自定义 参数2:reverse=True 可选参数,按照降序排列,默认升序 """ print(list)
返回值:排序后的列表
zip() 对应元素组合成迭代器
zip() 函数:它可以将多个序列(列表、元组、字典、集合、字符串以及 range() 区间构成的列表)中对应位置的元素重新组合,生成新的元组zip对象(迭代器)
my_list = [11,12,13] my_tuple = (21,22,23) a=zip(my_list,my_tuple) for i in a: print(i)
dir()返回内置属性和方法的名称
返回值类型:列表
print(dir([])) #返回列表的内置方法
返回的值:
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
class MyClass: a=10 def method(self): pass obj = MyClass() print(dir(obj)) # 会列出 obj 的属性和方法
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'a', 'method']
locals() 返回当前作用域中的局部变量字典
def s(): a=1 b=2 print(locals()) s() #{'a': 1, 'b': 2}
globals返回当前全局作用域中的变量字典
globals() 函数会以字典类型返回当前位置的全部全局变量和对应值
nonlocal声明使用外层函数的局部变量
global声明函数内使用全局变量
help()获取关于对象的帮助信息
c=eval(a) 执行一个字符串表达式,并返回表达式的值
a='1+1' c=eval(a) print(c) #2
注意 eval有返回值 exec没有返回值
c=exec() 执行一个字符串表达式,没有返回值
exec("print(123)")
code="""for i in range(4): print(i)""" exec(code)
compile将字符串类型的代码编译,便于exec或eval语句执行
compile1=compile(code,"","exec") #编译代码 """ 参数1:可以是常规的字符串、字节字符串,或者 AST 对象 参数2:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值,我一般用""空字符串 参数3:指定编译代码的种类。可以指定为 exec, eval, single 如果是exec类型,表示这是一个序列语句,可以进行运行 如果是eval类型,表示这是一个单一的表达式语句,可以用来计算相应的值出来;编译代码时,如果语法出错会返回SyntaxError;如果代码包含一些空字节,则返回类型错误TypeError 如果是single类型,表示这是一个单一语句,采用交互模式执行 """ exec(compile1)
code="1+2+3+4" compile1=compile(code,"","eval") #编译代码 a=eval(compile1) print(a)
code3="name=input('请输入你的名字:')" compile3=compile(code3,"","single") #编译代码--交互 exec(compile3) print(name)
c=math.pow( 2, 3 ) x的y次方
需要 import math
abs()绝对值
print(abs(-10)) #绝对值
callable() 判断某函数能否被调用
能返回true
检测参数是否是函数
def my_function(): pass print(callable(my_function)) # 输出 True 检测是否是函数 a=1 print(callable(a)) # 输出 False
all(x) 是否都为true
s=[1,2,0,4] s1=all(s) #x对象中所有元素都为true才返回true,否则返回false[有一个false就返回false] print(s1) #False #参数 可迭代的
any(x) 是否都为false
x对象中所有元素都为false才返回true,否则返回true【有一个true就返回false】
参数 可迭代的
s=[1,2,0,4] s1=all(s) #s对象中所有元素都为true才返回true,否则返回false #参数 可迭代的 print(s1) #False
filter() 根据函数值筛选后返回迭代器
filter(function, iterable)
参数1 -- 判断函数【函数名】
参数2 -- 可迭代对象
返回迭代器
说明:参数1的函数返回的是布尔值,
参数2的元素依次给参数1的参数,参数1返回true的元素就放到迭代器中
def is_odd(n):
return n % 2 == 1 #筛选奇数
newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
"""
参数1:函数名,可以自定义
参数2:可迭代对象
返回值:迭代器,返回参数1返回值为true的元素
"""
print(newlist) #<filter object at 0x000000000250E2C8>
l=list(newlist)
print(l) #[1, 3, 5, 7, 9]
c=map()根据函数值返回迭代器
c=map(abs,[1,-4,6,-9]) """ 参数1:函数名,可是自定义 参数2:可迭代对象 返回值:迭代器 说明:参数2的元素依次给参数1 """ print(c) for i in c: print(i)
进制转换
print(bin(10)) #转换成二进制 print(oct(10)) #转换成八进制 print(hex(10)) #转换成十六进制
oct(10) 转换成八进制
0o12
hex(10) 转换成16进制
0xa
id(x)返回变量x的数据地址
Hash函数
reverse顺序反转
reversed返回顺序反转后的迭代器
slice切片规则
bytearray可变字节数组
memoryview
enumerate枚举