二分法,有名函数,匿名函数,内置函数
06.04 学习总结
一.二分法
二分法个人理解是一种算法的方式在一个有序的序列,区中间值,把中间值与想要的值进行对比从而一次一次的减少搜索范围举例
复制#给与一个列表1-100,
num_list = [num fornum in range(1,101)]
#给予一个num让你在列表中寻找他
mid_num_index = int(len(num_list)/2)
mid_num = num_list[mid_num_index]
if len(num_list)==1:
if num_list[0]==num:
print('找到了')
else:
print('没找到')
else:
if mid_num>num:
num_list = num_list[:mid_num_index]
elif mid_num<num:
num_list = num_list[mid_num_index:]
else:
print('找到了')
二.有名函数
就是有函数名的函数
三.匿名函数
没有函数名的函数,而且只能使用一次就会被回收掉
定义方式
复制lambda 输入内容:对于输入内容进行处理后的输出内容
如
#输入为x,y输出他们的和
lambda x,y:x+y
匿名函数的调用
复制(lambda 输入内容:对于输入内容进行处理后的输出内容)(输入内容)
#例如
x_y_sum = (lambda x,y:x+y)(1,2)
四.内置函数
1.重要
1.bytes()解码字符
复制res = bytes('你好', encoding='utf8')
# 内容 解码方式
#效果等同于
res = '你好'.encode('utf8')
2.chr()/ord()
chr()参考ASCII码表将数字转成对应字符;ord()将字符转换成对应的数字。
复制print(ord('a')) #97
#打印为a的ascll码
print(chr(97)) #a
#ascll码为97的是a
3..enumerate()
带有索引的迭代。
复制l = ['a', 'b', 'c']
for i in enumerate(l): #生成索引加内容的迭代器,其为索引加索引对应内容组成的一个集合
print(i)
'''
(0, 'a')
(1, 'b')
(2, 'c')
'''
l = [['a', 'b'], 'c']
for i in enumerate(l): #生成索引加内容的迭代器,其为索引加索引对应内容组成的一个集合
print(i)
```
(0, ['a', 'b'])
(1, 'c')
```
4.divmod()
复制print(divmod(10, 3))
#(3, 1)
divmod(x, y)
#(x//y,x%y)
5.eval()
复制把字符串两端的''去掉里面内容是什么就是什么
lis = '[1,2,3]'
lis_eval = eval(lis)
print(lis_eval)
#[1, 2, 3]
6.hash()
2.了解
1.abs()
绝对值
复制print(abs(-13)
#13
复制print(all([1, 2, 3, 0]))
print(all([1]))
print(all([]))
False
True
True
3.any()
可迭代对象中有一元素为真,则为真。
如果可迭代对象内元素是空的,返回False。
复制print(any([1, 2, 3, 0]))
print(any([]))
print(any([1]))
True
False
True
4.bin()/oct()/hex()
二进制、八进制、十六进制转换。
复制print(bin(17))
print(oct(17))
print(hex(17))
'''
0b10001
0o21
0x11
'''
5.dir()
列举出所有time的功能
复制import time
print(dir(time))
'''
['_STRUCT_TM_ITEMS', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 'monotonic', 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname', 'tzset']
'''
6.frozenset()
不可变集合
复制s = frozenset(任意数据类型)
将其中的任意数据类型变成集合的形式,且该集合不能修改
7.globals()/loacals()
查看全局名字;查看局部名字。
复制# print(globals())
def func():
a = 1
# print(globals())
print(locals())
func()
#{'a': 1}
8.pow()
复制print(pow(3, 2, 3)) # (3**2)%3
#0
9.round()
四舍五入
复制print(round(3.5))
#4
10.slice()
复制lis = ['a', 'b', 'c']
s = slice(0, 1, 2) #有点像切片
print(lis[s]) # print(lis[0:1:2])
11.sum()
复制求和
12._import_
通过字符串导入模块。
复制m = __import__('time')
print(m.time())
#1556607502.334777
分类:
python学习日记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理