
Python项目开发案例集锦学习记录
chde2Wang
滴水穿石
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python-week6
1.如下示例, 请用面向对象的形式优化以下代码 def exc1(host,port,db,charset): conn=connect(host,port,db,charset) conn.execute(sql) return xxx def exc2(host,port,db,charset,proc_name) conn=connect(host,port,db,charset) conn.call_proc(sq...原创 2020-09-13 13:00:21 · 294 阅读 · 0 评论 -
python-week5
1、现在有如下流程:A->B->C->D->E->F,要求根据输入的参数从制定的流程执行下去"""File: 01流程执行.pyAuthor: chde_wangDate: 2020-08-16 18:51:35Description:将输入存储到列表中,方便判断下一输入是否为之前的第二阶段,当前一阶段满足且输入为F时,输入结束"""import sysprocess_list = ['A', 'B', 'C', 'D', 'E', 'F']input_.原创 2020-08-16 19:58:52 · 225 阅读 · 0 评论 -
python3 week4
大家都知道字符串在python中是不可变数据类型,那么我们如何替换字符串中指定位置的字符呢?字符串转换列表替换并转换解决:def replace_char(string,char,index): string = list(string) string[index] = char return ''.join(string)参考自https://www.cnblogs.com/bingoTest/p/10449941.html...原创 2020-08-09 20:02:26 · 238 阅读 · 0 评论 -
Python 可变参数*args和**kwargs
多个实参,放到一个元组里面,以*开头,可以传多个参数;**是形参中按照关键字传值把多余的传值以字典的方式呈现*args:表示的就是将实参中按照位置传值,多出来的值都给args,且以元组的方式呈现,主要是用来表示函数接收可变长度的非关键字参数列表作为函数的输入。**kwargs:表示的就是形参中按照关键字传值把多余的传值以字典的方式呈现 key-value形式主要是用来表示函数接收可变长度的关键字参数列表作为函数的输入。*args:就是以元组的形式来呈现多余的参数,接受非关键字的...原创 2020-08-02 13:17:25 · 399 阅读 · 0 评论 -
Python 装饰器理解
1、定义:(1)装饰器指的是为被装饰对象添加额外功能的工具/函数。2、使用装饰器的意义(原因):如果我们已经上线了一个项目,我们需要修改某一个方法,但是我们不想修改方法的使用方法,这个时 候可以使用装饰器。因为软件的维护应该遵循开放封闭原则,即软件一旦上线运行后,软件的维护对修改源代码是封闭的,对扩展功能指的是开放的。3、装饰器的实现必须遵循两大原则:封闭: 对已经实现的功能代码块封闭。 不修改被装饰对象的源代码 开放: 对扩展开发 装饰器其实就是在遵循以上两个原则的前提下为被装饰对象原创 2020-08-02 13:11:19 · 181 阅读 · 0 评论 -
python之异常处理
关于错误和异常(1)概念:错误是无法通过其他代码进行处理问题,如语法错误和逻辑错误,语法错误是单词或格式等写错,只能根据系统提示去修改相应的代码,逻辑错误是代码实现功能的逻辑有问题,系统不会报错,也是只能找到相应的代码进行修改;异常是程序执行过程中,出现的未知问题,这里语法和逻辑都是正确的,可以通过其他代码进行处理修复,如可以通过if判定语句来避免对年龄进行赋值时输入了字符而出现异常的情况,如使用捕捉异常可以避免除零异常等(2)关于常见的系统异常:除零异常(ZeroDiviceError):被除原创 2020-08-02 12:39:46 · 412 阅读 · 0 评论 -
Python random模块seed理解
想要在同一个程序中产生同一组随机数,需要在下一个函数设置一个相同的随机种子random.seed(0),其中的0是对应的随机数的种子,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同import randomdef no_seed(): list_a=[] for i in range(1000000): list_a.append(random.random()) x=set(list_a) print(".原创 2020-08-01 15:55:08 · 1417 阅读 · 0 评论 -
python习题week3
"""File: 01dict取值.pyAuthor: chde_wangDate: 2020-07-29 22:48:33Description:从输入的字典中获取给定key的值, 实现函数:get_key_value(source_dict, key, index=0), source_dict指给定的字典,k ey指需要获取的key字段, index指的是需要获取相同key的第几个值,从0开始,默.原创 2020-08-01 15:47:32 · 241 阅读 · 0 评论 -
Python习题week2
1. 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。fenZi = 1fenMu = 2num = int(input("请输入系列个数:"))array_list = []array_fenZi = []array_fenMu = []for i in range(num): array_fenMu.append(fenMu) array_fenZi.append(fenZi) array_list.appe原创 2020-07-24 18:07:19 · 230 阅读 · 0 评论 -
Python习题week1
5.题目:打印出如下图案(菱形) * *** ************ ***** *** *''' 打印菱形 前半部分和后半部分相同 倒序输出即可 考虑空格数和星号数的关系'''len_lx = 7 # 菱形宽度for i in range(1, len_lx, 2): len_space = (len_lx-i) // 2 # /为除法 //为整除 %取模 print(' '*len_space, end='') .原创 2020-07-22 20:44:33 · 368 阅读 · 0 评论 -
python之集合与字典
1.最后一个单词的长度:(字符串)题目描述:给定一个仅包含大小写字母和空格' '的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例: 输入: "Hello World"输出: 5思路:1.首先排除不是单词的输入;2.其次让输入的字符串先用切片分隔开;3. 反转字符串,从反转后的字符串的第一个元素开始遍历,遇到第一个空格结束,并输...原创 2020-05-18 18:08:25 · 799 阅读 · 0 评论 -
Python之列表和元组
01 序列成员有序排列的,且可以通过下标偏移量访问到它的一个或者几个成员,这类类型统称为序列序列数据类型包括:字符串,列表,和元组类型。 特点: 都支持下面的特性 索引与切片操作符 成员关系操作符(in , not in) 连接操作符(+) & 重复操作符(*)02 列表01 列表的创建数组:存储同一种数据类型的集合。列表: 可以存储任意数据类型的集合。创建一个空列表:list=[]# 创建一个空列表li = []print(li, type(l...原创 2020-05-18 11:41:49 · 1673 阅读 · 0 评论 -
Python 字符串总结
1什么是丑数说法一(ugly number):把只包含质因子2,3和5的数称作丑数例如6、8都是丑数,但7、14不是,因为它们包含质因子7。 习惯上我们把1当做是第一个丑数。说法二(humble number):对于一给定的素数集合 S = {p1, p2, …, pK},考虑一个正整数集合,该集合中任一元素的质因数全部属于S。这个正整数集合包括,p1、p1p2、p1p1、p1p2p3…(还有其它)。该集合被称为S集合的“丑数集合”。def uglynum(n): while n%2==0原创 2020-05-13 13:36:23 · 1005 阅读 · 0 评论 -
Python之random模块
random.random() 生成一个0到1的随机浮点数 0<=n<1.0random.uniform(a,b) 生成一个指定范围内的随机浮点数a<=n<=brandom.randint(a,b) 生成一个指定范围内的整数 a<=n<=brandom.choice('abcdef') 从序列中获取一个随机元素random.shuffle([1,2,3,4,5]) 将元素打乱顺序...原创 2020-05-13 13:16:42 · 355 阅读 · 0 评论 -
python 格式化输出%和format
1 %用法1.1整数的输出%o —— oct 八进制%d —— dec 十进制%x —— hex 十六进制print('%o' % 20) #24print('%d' % 20) #20print('%x' % 20) #141.2浮点数输出%f ——默认保留小数点后面六位有效数字 %.3f,保留3位小数位%e ——默认保留小数点后面六位有效数字,指数形式输出 %.3e,保留3位小数位,使用科学计数法%g ——在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法原创 2020-05-12 21:16:16 · 1168 阅读 · 0 评论 -
Python中赋值,深拷贝和浅拷贝
1python变量变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量的值本身。2赋值python变量赋值实际上是对象的引用。如:list_a = [1,2,3,"hello",["python","C++"]]list_b = list_a此时,list_b和list_a是一样的,他们指向同一片内存,list_b不过是list_a的别名,是引用。我们可以使用 list_b is list_a 来判断,返回true,表明他们地址相同,内容相同。也可使用i原创 2020-05-12 17:18:02 · 448 阅读 · 0 评论 -
Python部分知识点
1format方法format中 数字表示所占宽度 符号^表示居中显示 \t表示添加制表符format_title="{:^4}{:^12}\t{:^8}\t{:^10}\t{:^10}"print(format_title.format("ID","名字","英语成绩","Python成绩","C语言成绩","总成绩"))运行结果:ID 名字 英语成绩 Python成绩 C语言成绩2判断字符串是否为纯字母串或者数字串instr=input(原创 2020-05-10 22:20:29 · 1676 阅读 · 0 评论 -
python 列表中dict中key排序
#1列表排序:使用lamada表达式进行排序student_new=[{'id':1,'name':'无语1','english':100,'python':98}, {'id':2,'name':'无语2','english':87,'python':96}, {'id': 3, 'name': '无语3', 'english': 95, 'python': 100}]student_new.sort(key=lambda x:x['english原创 2020-05-10 22:14:19 · 376 阅读 · 0 评论 -
Python 打开文件注意事项
利用try except语句捕获打开文件异常filename="student.txt"#利用try except语句捕获打开文件异常try: student_txt=open(filename,'a') #以追加模式打开文件except Exception as e: student_txt=open(filename,'w') #文件不存在,创建文件并打开#打开文件import osif os.path.exists(filename): with op原创 2020-05-10 22:12:45 · 266 阅读 · 0 评论 -
python eval简介
d={"id":1,"name":2}print(d)print(dict({'id':1,'name':2}))# print(dict("{'id':1,'name':2}")) 错误,无法输出print(dict(eval("{'id':1,'name':2}"))) #eval将字符串转换为字典输出结果:{‘id’: 1, ‘name’: 2}{‘id’: 1, ‘name’: 2}{‘id’: 1, ‘name’: 2}...原创 2020-05-10 22:11:26 · 489 阅读 · 0 评论 -
Python正则表达式re.sub使用
@[TOC]Python正则表示是使用1、引入正则表达式import re2、使用re.sub进行字符串替换re.sub(pattern, repl, string, count=0, flags=0) 其中三个必选参数:pattern, repl, string 两个可选参数:count, flagspattern ,表示正则中的模式字符串,其中反斜杠加数字(\N),则对应着匹配的组(matched group)比如\6,表示匹配前面pattern中原创 2020-05-09 21:11:51 · 1397 阅读 · 2 评论