如何用爬虫做网站监控,网站建设就业前景,域名到期怎么续费,动画设计师培训文章目录 1.类有两个方法#xff0c;一个是 new,一个是 init,有什么区别#xff0c;哪个会先执行呢#xff1f;2.map 函数返回的对象3.正则表达式中 compile 是否多此一举#xff1f;4.[[1,2],[3,4],[5,6]]一行代码展开该列表#xff0c;得出[1,2,3,4,5,6]5.一行代码将字符… 文章目录 1.类有两个方法一个是 new,一个是 init,有什么区别哪个会先执行呢2.map 函数返回的对象3.正则表达式中 compile 是否多此一举4.[[1,2],[3,4],[5,6]]一行代码展开该列表得出[1,2,3,4,5,6]5.一行代码将字符串 - 插入到 abcdefg中每个字符的中间6.zip 函数关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 1.类有两个方法一个是 new,一个是 init,有什么区别哪个会先执行呢
class test(object): def __init__(self): print(test - __init__) def __new__(cls): print(test -__new__) return super().__new__(cls)a test()运行结果如下 test -__ new__test - __ init__ 再来看另一个例子
class test2(object): def __init__(self): print(test2 - __init__) def __new__(cls): print(test2 -__new__) return object() b test2()运行结果如下 test2 -__ new__ 这里给出官方的解释init 作用是类实例进行初始化第一个参数为 self代表对象本身可以没有返回值。new 则是返回一个新的类的实例第一个参数是 cls 代表该类本身必须有返回值。很明显类先实例化才能产能对象显然是 new 先执行然后再 init实际上只要 new 返回的是类本身的实例它会自动调用 init 进行初始化。但是有例外如果 new 返回的是其他类的实例则它不会调用当前类的 init。
下面我们分别输出下对象 a 和对象 b 的类型
print( type(a))#class __main__.test print( type(b))#class object可以看出a 是 test 类的一个对象而 b 就是 object 的对象。
2.map 函数返回的对象
map函数第一个参数是 fun第二个参数是一般是 list第三个参数可以写 list也可以不写作用就是对列表中 list 的每个元素顺序调用函数 fun 。 bmap(lambda x:x*x,[1,2,3]) [i for i in b][1, 4, 9] [i for i in b][]有没有发现第二次输出 b 中的元素时发现变成空了。原因是 map() 函数返回的是一个迭代器并用对返回结果使用了 yield这样做的目的在于节省内存。
举个例子
#encoding:UTF-8 def yield_test(n): for i in range(n): yield call(i) #做一些其它的事情 def call(i): return i*2 #使用for循环 x yield_test(5)print([i for i in x])print([i for i in x])执行结果为 [0, 2, 4, 6, 8] [] 这里如果不用 yield那么在列表中的元素非常大时将会全部装入内存这是非常浪费内存的同时也会降低效率。
3.正则表达式中 compile 是否多此一举
比如现在有个需求对于文本
中国用正则匹配出标签里面的“中国”其中 class 的类名是不确定的。
有两种方法代码如下 import re text div classnam中国/div #方法一... re.findall(div class.*(.*)/div,text)[中国] #方法二... regexdiv class.*(.*)/div pattern re.compile(regex) re.findall(pattern,text)[中国]这里为什么要用 compile 多写两行代码呢 原因是 compile 将正则表达式编译成一个对象加快速度并重复使用。
4.[[1,2],[3,4],[5,6]]一行代码展开该列表得出[1,2,3,4,5,6] [j for i in [[1,2],[3,4],[5,6]] for j in i][1, 2, 3, 4, 5, 6]5.一行代码将字符串 “-” 插入到 abcdefg中每个字符的中间 -.join(abcdef)a-b-c-d-e-f这里也建议多使用 os.path.join() 来拼接操作系统的文件路径。
6.zip 函数
zip() 函数在运算时会以一个或多个序列可迭代对象做为参数返回一个元组的列表。同时将这些序列中并排的元素配对。zip() 参数可以接受任何类型的序列同时也可以有两个以上的参数;当传入参数的长度不同时zip 能自动以最短序列长度为准进行截取获得元组。 a[1,2] b(3,4) zip(a,b)zip object at 0x000001A20201AA08 for i in zip(a,b):... print(i)...(1, 3关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料给那些想学习 Python 的小伙伴们一点帮助 CSDN大礼包《Python入门资料实战源码安装工具】免费领取安全链接放心点击 一、Python所有方向的学习路线
Python所有方向的技术点做的整理形成各个领域的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。
二、Python基础学习视频
② 路线对应学习视频
还有很多适合0基础入门的学习视频有了这些视频轻轻松松上手Python~在这里插入图片描述
③练习题
每节视频课后都有对应的练习题哦可以检验学习成果哈哈 因篇幅有限仅展示部分资料
三、精品Python学习书籍
当我学到一定基础有自己的理解能力的时候会去阅读一些前辈整理的书籍或者手写的笔记资料这些笔记详细记载了他们对一些技术点的理解这些理解是比较独到可以学到不一样的思路。
四、Python工具包项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了每个都有详细的安装教程保证你可以安装成功哦
②Python实战案例
光学理论是没用的要学会跟着一起敲代码动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。100实战案例源码等你来拿
③Python小游戏源码
如果觉得上面的实战案例有点枯燥可以试试自己用Python编写小游戏让你的学习过程中增添一点趣味
五、面试资料
我们学习Python必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有阿里大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。
六、Python兼职渠道
而且学会Python以后还可以在各大兼职平台接单赚钱各种兼职渠道兼职注意事项如何和客户沟通我都整理成文档了。 这份完整版的Python全套学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】