一、感觉上课没有太多的知识。也可以去理解。但是作业太难了。。。
二、hash()
#python里面的哈希类型是在一个程序中不变,如果换了python 哈希是不#一样的。 #字典为什么快,因为他把字典中的key变成了哈希值,查找的时候 是通过#查找哈希值找到的。 def sayHI(): print('hello world') sayHI() def stu_register(name, age, country, course,*args,**kwargs): print("----注册学生信息------") print("姓名:", name) print("age:", age) print("国籍:", country) print("课程:", course) #print(*args) #print(**kwargs) print('1123',args,kwargs) print(kwargs.get('xuehao','jinqian')) stu_register("王山炮", 22, "CN", "python_devops",'ddddd','lllll',xuehao = 'st112003',jinqian=10000) stu_register("张叫春", 21, "CN", "linux") stu_register("刘老根", 25, "CN", "linux")
三、返回值
# 返回值 # 1.一旦你的函数经过调用并开始执行,那你的函数外部程序,就没有办法再控制函数的过程了。 # 此时外部程序只能安静的等待函数的执行结果,为啥要等待函数结果,因为外部程序要根据函数的 # 执行结果来决定下一步怎么走,这个执行结果就是一retun的形式返回给外部的程序。 # 2.return 代表这一个函数的结束。 # 3.return 可以返回任意数据类型。 # 4.对于用户角度,函数可以返回任意数量的值,但对于py本身来讲,函数只能返回一个值。 # 局部变量改全局变量尽量不要用 def auth(): username = input('请输入账号') password = input('请输入密码') _username = 'houziyu' _password = '123123' if username == _username and password ==_password: return True else: return False #abc =123 #global abc # 全局变量global del
三、递归
#递归 #1.必须有一个明确的条件。如果没有明确的条件就是一个死循环 def calc(n): print(n) if int(n/2) == 0 : return n return calc(int(n/2)) calc(10)
四、二分查找
# 二分查找 data = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] def binary_search(datasets,find_num): if len(datasets) >0 : middie_pos = int(len(datasets)/2) if datasets[middie_pos] == find_num: print('find num:',datasets[middie_pos]) elif datasets[middie_pos] > find_num: binary_search(datasets[0:middie_pos],find_num) print('小了') else: binary_search(datasets[middie_pos+1:],find_num) print('大了') else: print('没有找到数字',find_num) binary_search(data,20)
五、三元预算及匿名函数
#三元预算 a = 4 b = 5 d = a if >10 else b #匿名函数 def calc(n,j): return n*j calc2 = lambda x,y:x*y print(calc(8,9)) print(calc2(8,9)) def calc(n) : n**n data=map(lambda n:n*n if n>2 else n ,range(10)) for i in data: print(i) #all 除了0都的为真 #any 一个为真都为真 print(ascii('哈')) #转换成ascii 没啥用忘记吧 print(bin(10)) #转换成二进制 print(chr(97)) print(ord('a')) print(globals()) #把当前程序所在内存里的所有数据都以字典的形式打印出来 a = frozenset({1,2,3,4,4}) #让集合只读~ f = open('呵呵.py',encoding='utf-8') #相当于import code = compile(f.read(),'','exec') exec(code) for i in filter(lambda x:x>5 , range(10)): #筛选5以上的 print(i) hex() #求16进制 a =[1,2,3,4,5] b =[4.5.6.7.8] for i in zip(a,b): print(i)