内置函数
一.数据类型转换:
1.整数类型转换(int)
2.浮点数类型转换(float)
3.字符串类型转换(str)
4.布尔类型转换(bool)
5.列表类型转换(list)
6.元祖类型转换(tuple)
7.字典类型转换(dict)
8.集合类型转换(set)
二.数学进制转换
1.十进制转二进制(bin)
2.十进制转八进制(oct)
3.十进制转八进制(oct)
三.数学运算
1.获取绝对值(abs)
2.获取商和余数(divmod)
3.四舍五入(round)
4.a的b次幂(pow)
5.a的b次幂(pow)
6.最小值(min)
7.最大值(max)
8.复数转换(complex)
四.数据结构相关
(1.)序列相关
1.翻转(reversed):将一个序列翻转, 返回翻转序列的迭代器
2.切片(slice):列表的切片
3.计算长度(len)
4.排序(sorted):语法:sorted(Iterable, key=函数(排序规则), reverse=False)
5.枚举(enumerate):获取集合的枚举对象
lst = ['one', 'two', 'three', 'four', 'five']
# 把索引和元素一起获取,索引默认从0开始.
# 下面更改默认索引从 0 开始 for index, el in enumerate(lst, 1):
print(index) print(el)
(2.)字符串
1.格式化输出(format)
2.获取字节数组(bytearray)
3.返回对象的字符串格式(repr)
(3.)字符编码
1.字符编码找数字(ord):print(ord('a'))
2.数字找字符编码(chr):print(chr(65))
3.数字找ASCII码(ascii):是ascii码中的返回该值 不是就返回0
(4.)数据集合
1.创建一个冻结的集合(frozenset):创建一个冻结的集合,冻结的集合不能进行添加和删除操作
(5)判断条件
1.所有为真(all):可迭代对象中全部是True, 结果才是True
2.任意为真(any):可迭代对象中有一个是True, 结果就是True
(6)高阶函数
1.打包(zip):用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回由这些元组组成的列表.,如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同
lst1 = [1, 2, 3, 4, 5, 6]
lst2 = ['醉乡民谣', '驴得水', '放牛班的春天', '美丽人生', '辩护人', '被嫌弃的松子的一生']
lst3 = ['美国', '中国', '法国', '意大利', '韩国', '日本'] print(zip(lst1, lst1, lst3)) # <zip object at 0x00000256CA6C7A88> # 将三组列表打包成 一对一 的元祖
# 如果少则按最少算
for el in zip(lst1, lst2, lst3):
print(el)
2.过滤(filter):语法:fiter(function. Iterable) ,function: 用来筛选的函数.,在filter中会自动的把iterable中的元素传递给function.,然后根据function返回的True或者False来判断是否保留留此项数据。
ef func(i): # 判断奇数
return i % 2 == 1
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# l1是迭代器
l1 = filter(func, lst)
print(l1)
# <filter object at 0x000001CE3CA98AC8> print(list(l1)) # [1, 3, 5, 7, 9]
3.映射(map)
def f(i):
return i
lst = [1, 2, 3, 4, 5, 6, 7, ]
# 把可迭代对象中的每一个元素传递给前面的函数进行处理.
# 处理的结果会返回成迭代器print(list(it)) it = map(f, lst)
print(it) # <map object at 0x000001EEDDE997B0>
# 如果要查看 map 的结果需要用 list 强转 print(list(it))
# [1, 2, 3, 4, 5, 6, 7]
【五】作用域
1.ocals() 返回当前作用域中的名字
2.globals() 返回全局作用域中的名字
【六】迭代器生成器
1.循环生成数据(range)
2.获取迭代器(iter)
3.向下执行(next)
【七】字符串类型代码的执
1.指定指令并返回结果(eval):执行字符串类型的代码. 并返回最终结果
s1 = input("请输入a+b:")
# 输入:8+9 # 可以动态的执行代码.
代码必须有返回值 print(eval(s1))
2.指定指令不返回结果(exec)
s2 = "for i in range(5):
print(i)"
# exec 执行代码不返回任何内容 a = exec(s2) # 0 # 1 # 2 # 3 # 4
print(a) # None
# 动态执行代码 exec(""" def func():
print(" 我是周杰伦") """)
func() # 我是周杰伦
3.compile() 将字符串类型的代码编码. 代码对象能够通过exec语句来执行或者eval()进行求值
【八】算法
1.hash():获取到对象的哈希值(int, str, bool, tuple)
s = 'jinhao'
print(hash(s)) #1161949846
【九】调度相关
callable() : 用于检查一个对象是否是可调用的,如果返回True, object有可能调用失败,但如果返回False. 那调用绝对不会成功
【十】查看内置属性
dir():查看对象的内置属性,访问的是对象中的 __dir__()
方法
【十一】类的静态方法(classmethod)
1.作用
将方法转换为类方法。类方法将类作为隐式第一个参数接收,就像实例方法接收实例一样。
类方法可以在类(如c.f())上调用,也可以在实例(如c().f())上调用。除了类之外,实例被忽略。
如果为派生类调用了类方法,则派生类对象将作为隐含的第一个参数传递。
类方法不同于C++或Java静态方法。
也就是说,classmethod修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象。
2.示例
返回值:返回函数的类方法
下面例子展示classmethod()函数函数使用方法
class B(object):
num = 10
def func1(self):
print('self')
@classmethod
def func2(cls):
print('func2')
print(cls.num)
cls().func1()
B.func2() # 不需要实例化
# func2
# 10
# self
【十二】反射:
getattr():获取属性
hasattr():检测是否含有某属性
setattr():设置属性
delattr():删除属性
【十二】
issubclass(sub, super)检查sub类是否是 super 类的派生类
1 class Foo(object): 2 pass 3 4 class Bar(Foo): 5 pass 6 7 issubclass(Bar, Foo)
isinstance(obj,cls)检查是否obj是否是类 cls 的对象
1 class Foo(object): 2 pass 3 4 obj = Foo() 5 6 isinstance(obj, Foo)