
Python
duoduozhengqian
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人。
展开
-
Python+Faker+dataclasses +sqlalchemy 生成测试数据
from faker import Fakerfrom dataclasses import dataclass, field, asdictfrom sqlalchemy import create_engine, Table, MetaDatafrom sqlalchemy.orm import sessionmaker# dataclasses库需要Python3.7及以上版本才有fake_zh_cn = Faker(locale='zh_CN')@dataclassclass.原创 2020-09-27 08:46:29 · 530 阅读 · 0 评论 -
Python基础练习-Json
import jsondata = [ {"person1": {"name": "奥特曼", "age": 18, "sex": "女"}}, {"person2": {"name": "索隆", "age": 20, "sex": "男"}}]# json.dumps:Python数据转化为Json数据json_dumps = json.dumps(data, ensure_ascii=False)print(json_dumps)print(type(json_dum.原创 2020-08-15 11:10:48 · 363 阅读 · 0 评论 -
Python协程-生产者消费者
def consumer(): r = '' while True: n = yield r if not n: return print('[CONSUMER] Consuming %s...' % n) r = '200 ok'def produce(c): c.send(None) n = 0 while n < 5: n = n + 1 .原创 2020-07-20 08:34:55 · 347 阅读 · 0 评论 -
Windows命令行终端-运行Flask项目
1. set FLASK_APP=app.py(你需要运行的py文件)2.flask run(即可访问网址)原创 2020-06-12 21:45:00 · 6734 阅读 · 2 评论 -
Python-UDP编程实例
客户端程序def udp_client(): ''' 客户端程序 :return: ''' s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) for data in [b'wen', b'li']: # 发送数据 s.sendto(data, ('127.0.0.1', 9999)) print(s.recv(1024).decode('utf-8'原创 2020-06-12 08:13:55 · 321 阅读 · 0 评论 -
Python-TCP编程实例
客户端程序client.pyimport socketdef client(): '''客户端程序''' s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('127.0.0.1', 9999)) #建立连接 print(s.recv(1024).decode('utf-8')) #接收消息 for data in [b'wen', b'li', b'cheng']: .原创 2020-06-11 20:21:09 · 269 阅读 · 0 评论 -
Python-@property装饰器
知识点:@property:表示只读不可写@property+@score.setter:表示可读可写@deleter:表示删除class Student(object): def __init__(self, name, score): self.name = name self.__score = score @property def score(self): return self.__score .原创 2020-06-07 23:48:59 · 219 阅读 · 0 评论 -
Python-装饰器
注意要让@log自适应任何参数定义的函数,可以利用Python的*args和**kw,保证任意个数的参数总是能正常调用python中编写无参数decoratorimport timeimport functools#功能实现:打印函数的调用时间def performance(f): @functools.wraps(f) def get_time(*args, **kw): t1 = time.time() r = f(*arg...原创 2020-06-07 19:42:00 · 203 阅读 · 0 评论 -
Python-闭包函数(例子)
import loggingdef log_header(logger_name): logging.basicConfig(level=logging.DEBUG, format='%(asctime)s [%(name)s] %(levelname)s %(message)s', datefmt='%Y-%m-%d %H:%M:%S') logger = logging.getLogger(logger_name) def .原创 2020-06-07 16:52:20 · 318 阅读 · 0 评论 -
Python-高阶函数
map函数map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回lst = [1,2,3,4,5]def add(x): return x + xs = map(add,lst)new_lst = list(s)print(new_lst)高阶函数有一个优点就是,可以让代码变得更加简洁,比如将一个list的数字都转换为字符串一般的实现方式如下lst = [1,2,3,4,5]n原创 2020-06-06 17:19:26 · 219 阅读 · 0 评论 -
Python算数运算符-除法,取整,求余(通俗易懂)
除法运算符(/)其实和数学的除法运算是一样的,5/2=5÷2=2.5(a/b,a是被除数,b是除数且不能为0)注意以下几点1.除数不能为0,即5/0是不合理的,但是被除数是可以为0的,即0/5是合理的2.除数和被除数任意为负数,相除以后是负数,即5/-2=-2.53.两个负数相除为正数,即-5/-2=2.54.相除结果字符类型为float看下代码更直观些print(0/5) #被除数为0print(5/2.3) #被除数为小数print(-5/2) #被除数为负数pr原创 2020-06-06 09:59:39 · 11209 阅读 · 0 评论 -
Python-实现字符串方法(find)
def my_find(source, target, start=0): ''' 返回字符串source中 子串target开始的位置, 从start索引开始搜索 如果可以找到多个,返回第一个 :param source: :param target: :param start: :return: ''' if not source or not target: return -1 if start <.原创 2020-06-05 21:50:38 · 347 阅读 · 0 评论 -
Python-实现bin函数
知识点1.右移:例子:5>>2,相当于5//2**2=1,即num>>n相当于num//2**n2.左移:例子:5<<2,相当于5*2**2=20,即num<<n相当于num*n**23.反转列表:lst=[1,2,3],lst[::-1]=[3,2,1]def my_bin(value): ''' 返回正整数value的二进制形式 :param value: :return: ''' if .原创 2020-06-05 21:29:53 · 627 阅读 · 0 评论 -
Python-验证回文串
题目给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。def isPalindrome(string): str_lst = [] for item in string: if item.isalpha() or item.isdigit(): str_lst.append(item) new_string = "".join(str_lst).lower() for i in range(le原创 2020-06-05 20:22:42 · 511 阅读 · 0 评论 -
Python-继承与多态(代码记录)
print('---Python类的继承---')class Person(object): def __init__(self,name, sex): self.name = name self.sex = sex def print_title(self): if self.sex == 'male': print('man') elif self.sex == 'female': .原创 2020-06-05 08:36:39 · 248 阅读 · 0 评论 -
Python-求学生最高分数科目和分数
dic = { 'Java': 90, 'C++': 97, 'Python': 98}def get_max_score(dic:dict): max_score = 0 max_course = '' for key, value in dic.items(): if value > max_score: max_score = value max_course = key .原创 2020-06-04 22:37:47 · 7266 阅读 · 3 评论 -
Python-列表偏移
题目lst = [1,2,3,4,5],列表向右偏移两位后,变成lst = [5,4,1,2,3]lst = [1,2,3,4,5]count = int(input('输入偏移位数:'))count %= len(lst)print(count)for i in range(count): tmp = lst[-1] for j in range(len(lst)-1, 0, -1): lst[j] = lst[j-1] lst[0] = t.原创 2020-06-04 22:11:56 · 1036 阅读 · 0 评论 -
Python-反转列表
题目lst = [1,2,3,4,5]翻转后lst = [5,4,3,2,1]lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]#Python自带函数和列表功能实现lst.sort(reverse=True)print(lst)print(lst[::-1])#另一种方法length = len(lst)for i in range(length//2): tmp = lst[i] lst[i] = lst[length-1-i] .原创 2020-06-04 21:22:50 · 396 阅读 · 0 评论 -
Python-水仙花数(两种方法)
#第一种方法for i in range(100,1000): sum = 0 for j in str(i): sum += int(j) ** 3 if sum == i: print(i)#第二种方法for i in range(100, 1000): res = 0 value = i while value > 0: res += (value%10)**3 value .原创 2020-06-04 20:43:25 · 5096 阅读 · 0 评论 -
Python-统计字符数量(两种方法)
第一种方法如下def count_string(): input_string = input('请输入一个字符串:') if not input_string:return False count_dict = {} for i in input_string: if i not in count_dict: count_dict[i] = 1 else: count_dict[i] +=原创 2020-06-03 23:12:16 · 7991 阅读 · 0 评论 -
Python-打印九九乘法表(两种方法)
def multiply(count): lst = [] for i in range(1, count+1): part = "{index}*{number} = {res}".format(index=i, number=count, res=i*count) lst.append(part) print(" ".join(lst))def print_multiply(): for i in range(1, 10): .原创 2020-06-03 22:40:26 · 2108 阅读 · 0 评论 -
Python-打印菱形
def diomond(count): for i in range(count): #打印上半部分的图形 if i <= count // 2: print(" "*(count//2-i) + "*"*(2*i +1)) #打印下半部分的图形 else: print(" "*(i - count//2) + "*"*((count-i)*2-1))diomond(9)..原创 2020-06-03 22:13:22 · 346 阅读 · 0 评论 -
Python-datetime模块练习题
import datetimeprint_today = "{date_str},{weekday},2020年第{days}天,今年{pass_day}%的时间已过去,我要好好努力学习!"year_days = 365today = datetime.datetime.now()date_str = '{year}年{month}月{day}日'.format(year=today.year,month=today.month,day=today.day)year = today.yea.原创 2020-06-02 23:05:46 · 800 阅读 · 0 评论 -
Python-两个列表生成矩阵
题目已知两个列表lst_1 = [1, 2, 3, 4]lst_2 = ['a', 'b', 'c', 'd']将两个列表交叉相乘,生成如下的矩阵[['1a', '2a', '3a', '4a'], ['1b', '2b', '3b', '4b'], ['1c', '2c', '3c', '4c'], ['1d', '2d', '3d', '4d']]import pprintlst_1 = [1, 2, 3, 4]lst_2 = ['a', 'b', 'c', '原创 2020-06-02 22:31:52 · 5271 阅读 · 0 评论 -
Python-一个数组先递增后递减,求最大值
题目一个数组先递增后递减,要求找到最大值def find_max(lst): if not lst or not isinstance(lst, list): print('lst is empty or type is not list') return None for index, item in enumerate(lst): if item > lst[index+1]: return it.原创 2020-06-02 22:20:01 · 1882 阅读 · 1 评论 -
Python-同时寻找出数组中的最大值和最小值
题目只遍历一遍,寻找出数组中的最大值和最小值def find_max_min(lst:list): if not isinstance(lst, list): print('type is not list') return None if len(lst) == 0: print('list is empty') return None max_value, min_value = lst[0], lst原创 2020-06-02 21:46:00 · 2895 阅读 · 0 评论 -
Python-判断两个字母字符串是否相同(忽略大小写)
题目比较两个字母字符串,忽略大小写,比如字符串"abc"和字符串"ABC",在忽略大小写的情况下是相等的'''知识点1.ord内置函数:将字符转换为对应的ASCII数值(十进制整数)2.enumerate函数:将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中'''def get_ord(string): value = ord(string) if 65 <=value<= 90:原创 2020-06-02 21:25:08 · 10071 阅读 · 0 评论 -
Python-计算三角形边长和面积
题目:写一段程序,让用户输入三角形的三条边长,如果三条边长不能构成三角形,则提示用户重新输入如果可以构成三角形,则计算周长和面积def get_edge(line): ''' 根据用户输入获得三条边 :param line: :return: ''' lst = line.split(' ') if len(lst) != 3: return False,(0,0,0) try: lst = [fl原创 2020-06-02 21:00:40 · 4432 阅读 · 1 评论 -
Python-实现杨辉三角(递归)
def print_yanghui(n:int): ''' 输入n,打印杨辉三角 :param n: :return: ''' if not isinstance(n,int):return False if n < 1:return False if n == 1: print([1]) return [1] elif n == 2: print_yanghui(1) .原创 2020-06-01 23:47:15 · 2873 阅读 · 0 评论 -
Python-练习题代码记录
def my_abs(num): if not isinstance(num,(int, float)): print('false') return False if num < 0: num *= -1 return numprint(my_abs(2))print(my_abs(-2))my_abs('tes')def my_sum(lst): sum = 0 if not isinstance(.原创 2020-05-31 22:59:53 · 288 阅读 · 0 评论 -
Python-翻倍列表中的数字
lst = [1, [4, 6], True]将列表里所有数字修改成原来的两倍def double_list(lst): for index, value in enumerate(lst): if isinstance(value, bool): continue if isinstance(value,(int,float)): lst[index] *= 2 if isinstance(va原创 2020-05-31 17:25:25 · 7904 阅读 · 4 评论 -
阿里面试题-判断是不是一个IP地址的测试用例设计(Python实现)
写在前面今天面试阿里巴巴,太紧张了,回答的不好,在此记录和分享IP地址规则0.0.0.0~255.255.255.255由上面的规则我们可以划分四段A.B.C.DA段的测试用例设计(BCD的用例设计与A相同)等价类划分有效等价类 无效等价类 数字 非数字 0~255 <0 >255 空 3个分隔符 >3个的英文标点符号分隔符 <3个的英文标点符号分隔符 英文标点分隔符 非英文原创 2020-05-29 21:57:21 · 2193 阅读 · 0 评论 -
Python-实现三角形问题
"""输入三边,判断三角形"""def parseTrigon(a:int, b:int, c:int): if not isinstance(a, int) or not isinstance(b, int) or not isinstance(c, int): print('请输入整数') return if 1<=a<=10 and 1<=b<=10 and 1<=c<=10: if (a+b>.原创 2020-05-29 22:27:01 · 1021 阅读 · 0 评论 -
Python-单链表实现队列
class Node: """初始化链表""" def __init__(self, val): self.val = val self.next = Noneclass linkQueue: def __init__(self): self.dummyhead = Node(None) #哑结点,哑结点的下一个结点就是...原创 2020-03-15 15:57:46 · 444 阅读 · 0 评论 -
Python-实现堆栈
堆栈是什么?堆栈是只在一端(栈顶)进行插入和删除操作的线性表,故又称为先进后出线性表堆栈的操作有哪些?入栈(Push)和出栈(Pop)堆栈的实现存储方式有哪些?顺序存储(数组)和链式存储(链表)代码实现 (数组)堆栈是否已满 堆栈是否为空 入栈,将元素压入堆栈 出栈,删除并返回栈顶元素class listStack: """顺...原创 2020-03-14 21:08:55 · 446 阅读 · 0 评论 -
Python-数组实现循环队列和非循环队列
class Queue: """非循环队列""" def __init__(self, size): self.size = size self.front = -1 self.rear = -1 self.queue = [0]*size def enqueue(self, item): ...原创 2020-03-13 23:26:29 · 562 阅读 · 0 评论 -
Python-两数相加
class Node: def __init__(self, data): self.data= data self.next = Noneclass Solution: def addTowNumbers(self, l1: Node, l2: Node) ->Node: prenode = Node(0) ...原创 2020-02-29 21:28:15 · 483 阅读 · 0 评论 -
Python实现-无头单向非循环链表
无头单向非循环链表链表无头单向非循环链表结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等无头单向非循环链表对于任意一个数据元素a(i)来说,储存本身的数据.(这个域叫数据域) 存储一个下一个(后继)数据元素的信息(Next)(这个域叫指针域) 带头循环双向链表Python实现class Node: def __init...原创 2020-02-27 23:24:08 · 313 阅读 · 0 评论 -
Python-两数之和
题目描述给定一个整数数组 nums和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。Python解法解题思路:1.循环遍历数组中的每个值num,用目标值target减去num得到另一个值another_num2.判断another_num是否存在于hashmap字典如another_num不存在于hashmap字典中,将nu...原创 2020-02-25 23:36:36 · 1165 阅读 · 0 评论 -
Python3安装Locust报错,需下载安装Microsoft Visual C++ 14.0
系统和软件环境:操作系统:Window10 64位Python版本:3.7.3问题:pip安装Locust报错,提示如下图:(安装pymssql时也出现过类似问题)Error:Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstud...原创 2019-12-06 12:55:56 · 1323 阅读 · 1 评论