全网最全python练手项目,练完可就业(附源代码),持续更新中

Posted yk 坤帝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全网最全python练手项目,练完可就业(附源代码),持续更新中相关的知识,希望对你有一定的参考价值。

个人公众号 yk 坤帝
后台回复 项目整理二 获取完整整理资源

51、使用 pop 和 del 删除字典中的"name"字段

52、列出常见 mysql 数据存储引擎

53、计算代码运行结果,zip 函数历史文章已经说了,得出 [(“a”,1),(“b”,2),(“c”,3),(“d”,4),(“e”,5)]

54、简述同源策略

55、简述 cookie 和 session 的区别

56、简述多线程、多进程

57、简述 any()和 all()方法

58、IOError、AttributeError、ImportError、IndentationError、 IndexError、KeyError、SyntaxError、NameError 分别代表什么 异常

59、python 中 copy 和 deepcopy 区别

60、列出几种魔法方法并简要介绍用途

61、C:\\Users\\ry-wu.junya\\Desktop>python 1.py 22 33 命令行 启动程序并传参,print(sys.argv)会输出什么数据?

62、请将[i for i in range(3)]改成生成器

63、a = " hehheh ",去除收尾空格

64、举例 sort 和 sorted 对列表排序,list=[0,-1,3,-10,5,9]

65、对 list 排序 foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用 lambda 函数从小到大排序

66、使用 lambda 函数对 list 排序 foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],输出结果为 [0,2,4,8,8,9,-2,-4,-4,-5,-20],正数从小到大,负数从大到小 (传两个条件,x<0 和 abs(x))

67、列表嵌套字典的排序,分别根据年龄和姓名排序

68、列表嵌套元组,分别按字母和数字排序

69、列表嵌套列表排序,年龄数字相同怎么办?

70、根据键对字典排序(方法一,zip 函数)

71、根据键对字典排序(方法二,不用 zip)

72、列表推导式、字典推导式、生成器

73、最后出一道检验题目,根据字符串长度排序,看排序是否灵活运用

74、举例说明 SQL 注入和解决办法

75、s=“info:xiaoZhang 33 shandong”,用正则切分字符串输出 [‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]

76、正则匹配以 http://163.com 结尾的邮箱

77、递归求和

78、python 字典和 json 字符串相互转化方法

79、MyISAM 与 InnoDB 区别:

80、HTTP 请求中 get 和 post 区别

51、使用 pop 和 del 删除字典中的"name"字段

dic={"name":"zs","age":18}

在这里插入图片描述

52、列出常见 MYSQL 数据存储引擎

InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。 如果需要对事务的完整性要求比较高(比如银行),要求实现并发控制 (比如售票),那选择 InnoDB 有很大的优势。如果需要频繁的更新、 删除操作的数据库,也可以选择 InnoDB,因为支持事务的提交 (commit)和回滚(rollback)。
 MyISAM:插入数据快,空间和内存使用比较低。如果表主要是用于 插入新记录和读出记录,那么选择 MyISAM 能实现处理高效率。如果 应用的完整性、并发性要求比 较低,也可以使用。
 MEMORY:所有的数据都在内存中,数据的处理速度快,但是安全性 不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择 MEMOEY。它对表的大小有要求,不能建立太大的表。所以,这类数 据库只使用在相对较小的数据库表。

53、计算代码运行结果,zip 函数历史文章已经说了,得出 [(“a”,1),(“b”,2),(“c”,3),(“d”,4),(“e”,5)]
在这里插入图片描述
dict()创建字典新方法

在这里插入图片描述

54、简述同源策略

同源策略需要同时满足以下三点要求:

1)协议相同

2)域名相同

3)端口相同

http:http://www.test.com 与 https:http://www.test.com 不同源——协议不同
http:http://www.test.com 与 http:http://www.admin.com 不同源——域名不同
http:http://www.test.com 与 http:http://www.test.com:8081 不同源——端口不同 

只要不满足其中任意一个要求,就不符合同源策略,就会出现“跨域”

55、简述 cookie 和 session 的区别

1,session 在服务器端,cookie 在客户端(浏览器)

2、session 的运行依赖 session id,而 session id 是存在 cookie 中 的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效, 存储 Session 时,键与 Cookie 中的 sessionid 相同,值是开发人员设 置的键值对信息,进行了 base64 编码,过期时间由开发人员设置

3、cookie 安全性比 session 差

56、简述多线程、多进程

进程
1、操作系统进行资源分配和调度的基本单位,多个进程之间相互独立
2、稳定性好,如果一个进程崩溃,不影响其他进程,但是进程消耗资 源大,开启的进程数量有限制

线程
1、CPU 进行资源分配和调度的基本单位,线程是进程的一部分,是比 进程更小的能独立运行的基本单位,一个进程下的多个线程可以共享该 进程的所有资源
2、如果 IO 操作密集,则可以多线程运行效率高,缺点是如果一个线程 崩溃,都会造成进程的崩溃

应用
IO 密集的用多线程,在用户输入,sleep 时候,可以切换到其他线程 执行,减少等待的时间

CPU 密集的用多进程,因为假如 IO 操作少,用多线程的话,因为线程 共享一个全局解释器锁,当前运行的线程会霸占 GIL,其他线程没有 GIL,就不能充分利用多核 CPU 的优势

57、简述 any()和 all()方法

any():只要迭代器中有一个元素为真就为真

all():迭代器中所有的判断项返回都是真,结果才为真

python 中什么元素为假?

答案:(0,空字符串,空列表、空字典、空元组、None, False)
在这里插入图片描述
测试 all()和 any()方法
在这里插入图片描述

58、IOError、AttributeError、ImportError、IndentationError、 IndexError、KeyError、SyntaxError、NameError 分别代表什么 异常

IOError:输入输出异常

AttributeError:试图访问一个对象没有的属性

ImportError:无法引入模块或包,基本是路径问题

IndentationError:语法错误,代码没有正确的对齐

IndexError:下标索引超出序列边界

KeyError:试图访问你字典里不存在的键

SyntaxError:Python 代码逻辑语法出错,不能执行

NameError:使用一个还未赋予对象的变量

59、python 中 copy 和 deepcopy 区别

1、复制不可变数据类型,不管 copy 还是 deepcopy,都是同一个地址 当浅复制的值是不可变对象(数值,字符串,元组)时和=“赋值”的 情况一样,对象的 id 值与浅复制原来的值相同。

在这里插入图片描述

2、复制的值是可变对象(列表和字典)

浅拷贝 copy 有两种情况:

第一种情况:复制的 对象中无 复杂 子对象,原来值的改变并不会影 响浅复制的值,同时浅复制的值改变也并不会影响原来的值。原来值的 id 值与浅复制原来的值不同。

第二种情况:复制的对象中有 复杂 子对象 (例如列表中的一个子元 素是一个列表), 改变原来的值 中的复杂子对象的值 ,会影响浅复 制的值。 深拷贝

deepcopy:完全复制独立,包括内层列表和字典
在这里插入图片描述

在这里插入图片描述

60、列出几种魔法方法并简要介绍用途

init:对象初始化方法

new:创建对象时候执行的方法,单列模式会用到

str:当使用 print 输出对象的时候,只要自己定义了

str(self)方 法,那么就会打印从在这个方法中 return 的数据

del:删除对象执行的方法

61、C:\\Users\\ry-wu.junya\\Desktop>python 1.py 22 33 命令行 启动程序并传参,print(sys.argv)会输出什么数据?

文件名和参数构成的列表

在这里插入图片描述

62、请将[i for i in range(3)]改成生成器

生成器是特殊的迭代器,

1、列表表达式的【】改为()即可变成生成器

2、函数在返回值得时候出现 yield 就变成生成器,而不是函数了; 中括号换成小括号即可,有没有惊呆了

在这里插入图片描述

63、a = " hehheh ",去除收尾空格

在这里插入图片描述

64、举例 sort 和 sorted 对列表排序,list=[0,-1,3,-10,5,9]

在这里插入图片描述

65、对 list 排序 foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],使用 lambda 函数从小到大排序

在这里插入图片描述

66、使用 lambda 函数对 list 排序 foo = [-5,8,0,4,9,-4,-20,-2,8,2,-4],输出结果为 [0,2,4,8,8,9,-2,-4,-4,-5,-20],正数从小到大,负数从大到小 (传两个条件,x<0 和 abs(x))

在这里插入图片描述

67、列表嵌套字典的排序,分别根据年龄和姓名排序

foo = [{"name":"zs","age":19},{"name":"ll","age":54}, {"name":"wa","age":17},{"name":"df","age":23}]

在这里插入图片描述

68、列表嵌套元组,分别按字母和数字排序

在这里插入图片描述

69、列表嵌套列表排序,年龄数字相同怎么办?

在这里插入图片描述

70、根据键对字典排序(方法一,zip 函数)

在这里插入图片描述

71、根据键对字典排序(方法二,不用 zip)

有没有发现dic.items和zip(dic.keys(),dic.values())都是为了构造列表 嵌套字典的结构,方便后面用 sorted()构造排序规则

在这里插入图片描述

72、列表推导式、字典推导式、生成器

在这里插入图片描述

73、最后出一道检验题目,根据字符串长度排序,看排序是否灵活运用

在这里插入图片描述

74、举例说明 SQL 注入和解决办法

当以字符串格式化书写方式的时候,如果用户输入的有;+SQL 语句,后 面的 SQL 语句会执行,比如例子中的 SQL 注入会删除数据库 demo

在这里插入图片描述
解决方式:通过传参数方式解决 SQL 注入

在这里插入图片描述

75、s=“info:xiaoZhang 33 shandong”,用正则切分字符串输出 [‘info’, ‘xiaoZhang’, ‘33’, ‘shandong’]

|表示或,根据冒号或者空格切分

在这里插入图片描述

76、正则匹配以 http://163.com 结尾的邮箱
在这里插入图片描述

77、递归求和

在这里插入图片描述

78、python 字典和 json 字符串相互转化方法

json.dumps()字典转 json 字符串,json.loads()json 转字典

在这里插入图片描述

79、MyISAM 与 InnoDB 区别:

1、InnoDB 支持事务,MyISAM 不支持,这一点是非常之重要。事务 是一种高 级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而 MyISAM 就不可以了;

2、MyISAM 适合查询以及插入为主的应用,InnoDB 适合频繁修改以 及涉及到 安全性较高的应用;

3、InnoDB 支持外键,MyISAM 不支持;

4、对于自增长的字段,InnoDB 中必须包含只有该字段的索引,但是 在 MyISAM 表中可以和其他字段一起建立联合索引;

5、清空整个表时,InnoDB 是一行一行的删除,效率非常慢。MyISAM 则会重 建表;

80、HTTP 请求中 get 和 post 区别

1、GET 请求是通过 URL 直接请求数据,数据信息可以在 URL 中直接 看到,比如浏览器访问;而 POST 请求是放在请求头中的,我们是无法 直接看到的;

2、GET 提交有数据大小的限制,一般是不超过 1024 个字节,而这种 说法也不完全准确,HTTP 协议并没有设定 URL 字节长度的上限,而是 浏览器做了些处理,所以长度依据浏览器的不同有所不同;POST 请求 在 HTTP 协议中也没有做说明,一般来说是没有设置限制的,但是实际上浏览器也有默认值。总体来说,少量的数据使用 GET,大量的数据使 用 POST。

3、GET 请求因为数据参数是暴露在 URL 中的,所以安全性比较低,比 如密码是不能暴露的,就不能使用 GET 请求;POST 请求中,请求参数 信息是放在请求头的,所以安全性较高,可以使用。在实际中,涉及到 登录操作的时候,尽量使用 HTTPS 请求,安全性更好。

个人公众号 yk 坤帝
后台回复 项目整理二 获取完整整理资源

以上是关于全网最全python练手项目,练完可就业(附源代码),持续更新中的主要内容,如果未能解决你的问题,请参考以下文章

全网最全Python项目体系练习500例(附源代码),练完可就业

全网最全Python项目体系练习500例(附源代码),练完可就业

全网最全Python项目体系练习500例(附源代码),练完可就业系列

全网最全python小白体系练手项目200例(附源代码),练完可显著提升python水平(持续更新中)

吐血整理Python体系练手项目500例(附源代码),练完可就业

Python小白项目练习500例(附源代码),练完可就业