学习python的第十七天(二分法,有名函数,匿名函数,内置函数)

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

原文地址:https://www.cnblogs.com/pythonywy/p/10979621.html

时间: 2024-10-17 04:44:00

学习python的第十七天(二分法,有名函数,匿名函数,内置函数)的相关文章

python自定义函数、常用内置函数

1.python自定义函数 Python中用户自己编写的用于实现特定功能的函数代码块,就是自定义函数. 如: def是关键字,saa是自定义函数名,括号用于传参,可以不写参数,冒号后面是函数代码块,这里只写了一条print语句 注意:函数不调用不执行,只有调用函数才会执行 小练习1: 执行结果是: : 再来看一个小练2: 这是一个用来生成双色球的小程序,如蓝色球号码 01 红色球 22 12 23 14 05 26,蓝色球数字范围1-16,红色球数字范围1-33,最后一行调用produce()自

python基础12_匿名_内置函数

一个二分查找的示例: # 二分查找 示例 data = [1, 3, 6, 7, 9, 12, 14, 16, 17, 18, 20, 21, 22, 23, 30, 32, 33, 35, 36, 66] def binary_search(dataset, find_num): print(dataset) if len(dataset) > 1: mid = int(len(dataset) / 2) if dataset[mid] == find_num: # find it print

python基础之生成器表达式形式、面向过程编程、内置函数部分

生成器表达式形式 直接上代码 1 # yield的表达式形式 2 def foo(): 3 print('starting') 4 while True: 5 x=yield #默认返回为空,实际上为x=yield None 6 print('value',x) 7 g=foo() 8 print(g.__next__()) #停到yield位置,生成器初始化,遇到yield返回一个None 9 print('---分割线君---') 10 print(g.send(1)) #传值给yield,

python:类2——有关类和对象的BIF内置函数

1.检查.判断 issubclass(class, classinfo)如果第一个参数是第二个参数的子类,返回true,注意: 非严格(自己可以认为是自己的子类): 第二个参数可以是由多个class组成的tuple,有任何一个合适,就true: 其他情况对抛出typeerror isinstance(object, classinfo)检查某第一个参数实例对象是否属于一个类 第二个参数可以是由多个class组成的tuple,有任何一个合适,就true: 如果第一个参数传入不是对象类型,永远返回f

python函数七(内置函数)

一.内置函数 1.重要内置函数 都是带key的: max min map filter 返回的是迭代器 sorted 返回的是列表 函数名在后 1.1 max dic = {'k1':20,'k2':30,'k3':100} def func(x): return dic[x] l1 = max(dic,key=func,) #(输出的是dic默认就是输出dic的键),函数返回的是是value值,即选出最大的value对应的键 print(l1) #k3 dic = {3:20,2:30,1:1

python学习之路-4 内置函数和装饰器

本篇涉及内容 内置函数 装饰器 内置函数 callable()   判断对象是否可以被调用,返回一个布尔值 1 2 3 4 5 6 7 8 9 10 11 num = 10 print(callable(num))   # num不能够被调用,返回False    def f1():     print("name")    print(callable(f1))     # f1可以被调用,返回True    # 输出 False True ?chr()   将十进制整数转换为asc

python学习交流 - 内置函数使用方法和应用举例

内置函数 python提供了68个内置函数,在使用过程中用户不再需要定义函数来实现内置函数支持的功能.更重要的是内置函数的算法是经过python作者优化的,并且部分是使用c语言实现,通常来说使用内置函数相比于用户自己定义函数实现相同功能,在执行效率和对内存的分配和使用上是要更加理想的.所以理解和熟练运用python中的内置函数,不仅可以增强代码的可读性,同时也可以提升代码的品质.下面对内置函数的使用方法进行分类介绍,以方便归纳理解. 一.查看作用域中变量相关 global () 功能:查看全局作

python之迭代器生成器和内置函数,匿名函数

今天学习了迭代器生成器以及内置函数和匿名函数,说实话有些懵圈,有些难度了. 一.迭代器和生成器 1.如何从列表.字典中取值的: index索引 for循环 凡是可以使用for循环取值的都是可迭代的 (1)可迭代协议:内部含有__iter__方法的都是可迭代的 (2)迭代器协议:内部含有__iter__方法和__next__方法的都是迭代器 什么是可迭代的:内部含有__iter__方法的都是可迭代的 什么是迭代器:迭代器=iter(可迭代的),自带一个__next__方法 可迭代最大的优势:节省内

python内置函数积累

python中有很多的内置函数,所谓内置函数,就是在python中被自动加载的函数,任何时候都可以用.内置函数,这意味着我们不必为了使用该函数而导入模块.不必做任何操作,Python 就可识别内置函数.在今后的学习中,不断地去学习这些内置函数. getattr(object, name[, default]) 官网上对getattr()函数的说明如下:Return the value of the named attribute of object. name must be a string.

python内置函数和匿名函数

内置函数 68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.     Built-in Functions     abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() ascii() enumerate() input() oct() staticmethod() bin() eval() int() open()