python内置函数

发布时间 2024-01-05 15:23:19作者: 认真的六六

内置函数

 

一.数据类型转换:

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 的对象