python
xlh_hzw
这个作者很懒,什么都没留下…
展开
-
密码安全性检查的代码
# 低级密码要求:# 1. 密码由单纯的数字或字母组成# 2. 密码长度小于等于8位## 中级密码要求:# 1. 密码必须由数字、字母或特殊字符# 2. 密码长度不能低于8位## 高级密码要求:# 1. 密码必须由数字、字母及特殊字符# 2. 密码只能由字母开头# 3. 密码长度不能低于16位def passwd_check(): s...原创 2020-07-08 09:28:35 · 564 阅读 · 0 评论 -
函数传递参数顺序
# 函数传参顺序: 位置参数 *args 默认参数 **kwargsdef func(a, *args, b = 1, **kwargs): print('a:',a) print('*args:',args) print('b:',b) print('kwargs:',kwargs)func(1,3,9,b='hello',name ='alex', ...原创 2020-04-14 11:10:02 · 1385 阅读 · 0 评论 -
python 列表深浅拷贝
import copylis = [1,'a', (123), ['abc']]lis1 = lislis2 = lis[:]lis3 = lis.copy()lis4 = copy.deepcopy(lis)lis[-1].append('helloworld')print('lis-->', lis) #lis--> [1, 'a', 123, ['abc', '...原创 2020-04-14 11:06:57 · 125 阅读 · 0 评论 -
Python抽象方法
from abc import ABCMeta,abstractmethodclass BaseMessage(object):#抽象类方法一 def send(self, x1): """ 必须继承BaseMessage,然后其中必须编写send方法。用于完成具体业务逻辑。 """ raise NotImplement...原创 2020-04-14 11:03:40 · 450 阅读 · 0 评论 -
python编码问题
# 编码和解码# ascii 码:# 不支持 中文# 支持 英文 数字 符号# 8位 一个字节# gbk码 国标:# 支持 中文,英文,数字,符号# 英文 16位 二个字节# 中文 16位 二个字节# unicode 万国码# 支持 中文,英文,数字,符号# 英文 32 位 四个...原创 2020-04-14 11:01:02 · 77 阅读 · 0 评论 -
python 打印进度条
import timefor i in range(0,101,2): time.sleep(0.1) char_num = i//2 per_str = '\r%s%%:%s\n'%(i,'*'*char_num)\ if i == 100 else '\r%s%%:%s'%(i, '*'* char_num) print(per_...原创 2020-04-14 10:59:52 · 173 阅读 · 0 评论 -
__str__和__repr__
class A: passa = A()print(a)#<__main__.A object at 0x000002653840F940>类似于str(a)类似于a.__str__())###class B: def __str__(self): return 'abc'b = B()print(b)#abc类似于str(b)x = st...原创 2020-04-14 10:57:28 · 98 阅读 · 0 评论 -
python 继承父类方法
import random as rclass Fish: def __init__(self): self.x = r.randint(0,10) self.y = r.randint(0,10) def move(self): self.x = -1 print('位置是:', self.x, self.y...原创 2020-04-14 10:54:47 · 962 阅读 · 0 评论 -
汉诺塔递归
#汉诺塔递归def hanoi(n, A, B, C): if n > 0: hanoi(n-1, A, C, B)#n-1个盘子,借C柱子移动到 B print('%s->%s' % (A, C))#第N个盘子A移动到C hanoi(n-1, B, A, C)#n-1个盘子,借C柱子移动到 B# h(n) = 2h(n...原创 2020-04-14 10:47:37 · 74 阅读 · 0 评论 -
map_reduce_filter
# map(lambda x: x + 1, [1, 4, 6, 9, 13])返回一个迭代器# map(),后面的序列按照前面func的逻辑进行处理,然后返回一个迭代器print(list(map(lambda x: x + 1, [1, 4, 6, 9, 13])))print(list(map(lambda x: x.upper(), ['abc', 'ok', 'raim...原创 2020-04-14 10:46:35 · 76 阅读 · 0 评论 -
zip和enumerate
a = [1, 7, 0]b = ['hello', 'ok']c = [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]# for i in zip(a, b):# print(i)## (1, 'hello')# (7, 'ok')print(list(zip(b, c)))# [('hello', 5...原创 2020-04-14 10:44:48 · 183 阅读 · 0 评论 -
迭代器
#迭代器协议: 对象必须提供一个next方法, 执行此方法会返回下一个值, 或者引发Stopiteration异常,然后终止迭代#可迭代对象 必须实现__iter__ 和 __next__ 方法################################## for循环的原理, 转换为一个可迭代对象,然后调__next__方法,最后捕获异常# for i in ('hello'...原创 2020-04-14 10:42:50 · 69 阅读 · 0 评论 -
groupby查找输出最大的元素
from operator import itemgetterfrom itertools import groupbystudents = [ {'name': 'raimond', 'age': 19, 'score': 99}, {'name': 'jack', 'age': 30, 'score': 60}, {'name': 'Sue', 'age'...原创 2020-04-14 10:41:07 · 200 阅读 · 1 评论 -
itemgetter联合查找输出最大的元素
from operator import itemgetterfrom itertools import groupbystudents = { {'name': 'Peter', 'age': 19, 'score': 95}, {'name': 'Lily', 'age': 22, 'score': 90}, {'name': 'Stanley', 'ag...原创 2020-04-14 10:37:13 · 66 阅读 · 0 评论 -
把一个整数翻转
def reverse_int(num): is_negative = False if num < 0:#如果是负数,先转换为正数 is_negative = True num = num * -1 res = 0 while num > 0: res = res * 10 res +=...原创 2020-04-14 10:33:35 · 144 阅读 · 0 评论 -
生产者消费者模型
import timedef consumer(name): print('我是[%s],开始吃面包了' % name) while True: bread = yield time.sleep(1) print('%s 把【%s】个面包吃掉了' %(name, bread)) def producer(): ...原创 2020-04-14 10:29:06 · 57 阅读 · 0 评论 -
装饰器(高阶函数_闭包_函数嵌套)
"#装饰器 本质就是函数, 作用是给其他函数添加新功能#1 不修改被修饰函数的源代码#2 不修改被修饰函数的调用方法“”import timedef timmer(func): def wrapper(*args, **kwargs): start_time = time.time() res = func(*args, **kwargs)...原创 2020-04-14 10:24:37 · 152 阅读 · 0 评论 -
求 100~999 之间的所有水仙花数
思路:整数除10取余数,返回最后一位数print(1651%10)print(435%10)# 整数地板除10,截掉最后一位数print(456546//10)print(1239//10)```pythonfor i in range(100, 1000): sum = 0 temp = i while temp: sum = sum...原创 2020-04-14 10:19:22 · 677 阅读 · 0 评论 -
生产者消费者模型
import time,randomimport queue,threadingq = queue.Queue()def Producer(name):count = 0while count <10:print(“making…”)time.sleep(random.randrange(3))q.put(count)print(‘Producer %s has produ...原创 2019-11-14 21:03:32 · 79 阅读 · 0 评论 -
信号量
import threading,timeclass myThread(threading.Thread):def run(self):if semaphore.acquire():print(self.name)time.sleep(3)semaphore.release()if name==“main”:semaphore=threading.Semaphore(10)thr...原创 2019-11-14 19:31:57 · 68 阅读 · 0 评论 -
event使用
import threadingimport timeclass Boss(threading.Thread):def run(self): print("BOSS:今晚大家都要加班到22:00。") print(event.isSet()) event.set() time.sleep(5) print("BOSS:<22:00>可以下班...原创 2019-11-14 18:40:25 · 182 阅读 · 0 评论 -
递归锁
import threadingimport timeclass MyThread(threading.Thread):def actionA(self): r_lock.acquire() print(self.name,"get lock_A", time.ctime()) time.sleep(2) r_lock.acquire() print...原创 2019-11-14 17:37:38 · 68 阅读 · 0 评论 -
python中threading死锁
import threadingimport timeclass MyThread(threading.Thread):def actionA(self): A.acquire() print(self.name,"get lock_A", time.ctime()) time.sleep(2) B.acquire() print(self.name...原创 2019-11-14 17:33:39 · 160 阅读 · 0 评论 -
python同步锁
import threadingimport timedef sub():global numtemp = numtime.sleep(0.0001)num = temp - 1num = 100l = []for i in range(100):t = threading.Thread(target=sub)t.start()l.append(t)for t in l:...原创 2019-11-14 00:11:11 · 113 阅读 · 0 评论 -
threading之setDaemon
import threadingimport timedef music():print(‘Listen music %s’% time.ctime())time.sleep(3)print(‘Stop the music %s’% time.ctime())def game():print(‘play games %s’% time.ctime())time.sleep(6)p...原创 2019-11-13 16:22:26 · 316 阅读 · 0 评论 -
threading之join
import threadingimport timedef Hi(num):print(‘hello %d’%num)time.sleep(3)if name == ‘main’:t1 = threading.Thread(target=Hi, args=(10,))#创建一个线程对象t1.start()t2 = threading.Thread(target=Hi, args...原创 2019-11-13 10:59:20 · 102 阅读 · 0 评论 -
数据结构与算法- 列表
原创 2019-08-08 11:14:20 · 65 阅读 · 0 评论 -
数据结构与算法 顺序表
原创 2019-08-08 11:52:16 · 94 阅读 · 0 评论 -
数据结构与算法 栈
class Stack(object): def __init__(self): self.__stack_list = [] def push(self, item):#添加一个元素到栈顶 self.__stack_list.append(item) def pop(self):#从栈顶弹出一个元素 return sel...原创 2019-08-08 17:55:16 · 67 阅读 · 0 评论 -
数据结构与算法 队列
class Queue(object): def __init__(self): self.__queue_list = [] def enqueue(self, item):#往队列添加item self.__queue_list.append(item) def dequeue(self):#从队列头部删除一个元素 r...原创 2019-08-08 18:12:32 · 93 阅读 · 0 评论 -
数据结构与算法 双端队列
class Queue(object): def __init__(self): self.__queue_list = [] def add_front(self,item): self.__queue_list.insert(0,item) def add_rear(self, item): self.__queue...原创 2019-08-08 18:21:51 · 111 阅读 · 0 评论 -
每日一题 一个整数,它加上100和加上268后都是一个完全平方数 该数是多少
import mathfor i in range(1000): a = int(math.sqrt(i + 100)) b = int(math.sqrt(i + 268)) if a * a == i + 100 and b * b == i + 268: print(i)D:\Python\Python36\python.exe D:/Pytho...原创 2019-08-08 19:02:53 · 1825 阅读 · 0 评论 -
每日一题:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
方法一for x in range(1,5): for y in range(1,5): for z in range(1,5): if set(list((x,y,z))) == set((x,y,z)): print('%s%s%s'%(x,y,z))方法二for i in range(1,5): for j in range(1,5): f...原创 2019-08-06 16:44:08 · 763 阅读 · 0 评论 -
数据结构与算法 链表
原创 2019-08-08 20:06:11 · 78 阅读 · 0 评论 -
可变类型和不可变类型
#1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典#2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)List_number = [1,5]print(id(List_number))List_number.append(2)print(id(List_number))print(List_num...原创 2019-08-08 23:20:59 · 152 阅读 · 0 评论 -
while练习tag控制循环
name='raimond'password='#b2019'tag=Truewhile tag: inp_name=input('用户名: ') inp_pwd=input('密码: ') if inp_name == name and inp_pwd == password: while tag: cmd=input('&...原创 2019-08-08 23:25:55 · 235 阅读 · 0 评论 -
while 和 else 搭配
while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句count = 0while count <= 5 : count += 1 print("Loop",count)else: print("循环正常执行完啦")print("-----out of while loop ------...原创 2019-08-08 23:32:30 · 9464 阅读 · 1 评论 -
打印金字塔
max_level = int(input('Please input the levels:'))alp_number = 1while True: space_number = max_level - 1 if max_level == 0: break else: print(space_number * ' ',alp_numb...原创 2019-08-08 23:38:28 · 194 阅读 · 0 评论 -
python 函数对象的应用
def register(): print('Register ...')def login(): print('Login...')def shopping(): print('Shopping ...')def transfer(): print('Transfer...')def pay(): print('Pay ...')wh...原创 2019-08-18 18:24:40 · 62 阅读 · 0 评论 -
python 函数闭包
函数闭包: 在函数内部中,如果函数内部嵌套的函数对外包变量应用,该函数称之为闭包函数def outer(): name = 'Raimond' def inner(): name = 'Lily' print(name) return innerouter()()def outer(): name = 'Raimond' ...原创 2019-08-18 18:55:55 · 133 阅读 · 0 评论