Python高级语法
Felix-微信(Felixzfb)
字节跳动数据分析工程师,个人微信AXiaShuBai。加微信,进Python小伙伴群。
展开
-
Python 全栈工程师必备面试题 300 道(2020 版)
Python 全栈工程师核心面试 300 问深入解析(2020 版)Python 面试不仅需要掌握 Python 基础知识和高级语法,还会涉及网络编程、web 前端后端、数据库、网络爬虫、数据解析、数据分析和数据可视化等各方面的核心知识。针对网上资料参差不齐,并且自己上网寻找费时费力,效果还不好的问题,进行该 Chat 创作。本人结合自己多年的开发经验,同时汲取网络中的精华,本着打造全网最全面...原创 2019-12-30 18:20:42 · 13484 阅读 · 7 评论 -
Python多任务-多线程-多进程-协程-进阶学习
-- 多任务-多线程-多进程-协程-进阶学习 --文中所提到的案例参考:GITHUB中项目文件夹https://github.com/FangbaiZhang/Python_advanced_learning/tree/master/02_Python_advanced_grammar_supplement/002_%E5%A4%9A%E7%BA%BF%E7%A8%8B_%E5%A4%9A%E...原创 2019-08-21 10:02:57 · 1249 阅读 · 0 评论 -
Python3中迭代器与可迭代对象区别
# -*- coding:utf-8 -*-# 可迭代对象:列表为例s = 'ABC'l = list(s)print(l)print("*" * 100)# 查看l所有的接口和方法print(dir(l))# 查看可迭代接口# l是一个可迭代的对象print(l.__iter__())print("*" * 100)# 迭代器对象l1l1 = iter(l)p...原创 2019-06-26 17:05:40 · 3367 阅读 · 2 评论 -
Python中多继承super()函数的执行顺序MRO
多继承的写法有以下三种方式:方式1:父类名.方法名(父类方法中的所有参数),比如:Parent.init(self, name)方式2:使用super()继承,super().方法名,比如:super().init(name, *args, **kwargs)为避免多继承报错,使用不定长参数,接受参数方式3:使用super(父类名, self),比如:super(Son1, sel...原创 2019-04-29 16:13:28 · 1826 阅读 · 2 评论 -
Python语法糖装饰器---由浅入深(看一遍就懂系列)
python装饰器就是用于拓展原来函数功能的一种函数特别之处:1.参数是一个函数;2.返回值是一个函数装饰器好处:使用python装饰器的可以在不用更改原函数的代码前提下给函数增加新的功能文章目录为什么需要装饰器带有固定参数的装饰器带有不固定参数的装饰器函数装饰器的原理是什么?一个装饰器函数执行顺序两个装饰器函数执行顺序多个装饰器函数执行顺序带返回值的函数进行装饰通用...原创 2019-04-20 19:39:22 · 1536 阅读 · 2 评论 -
Python函数闭包(看一遍就懂系列)
闭包的定义定义:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)下面这个就是一个简单的闭包函数def ExFunc(n): sum = n def InsFunc(): return sum + 1 return InsFuncmyFunc_1 = ExFunc(10)print(myFunc_1())myFunc_2...原创 2019-04-20 18:24:15 · 421 阅读 · 0 评论 -
Python中hashlib.sha1()和hashlib.MD5()哈希算法的区别
md5生成一个128bit的结果,通常用32位的16进制字符串表示sha1生成一个160bit的结果,通常用40位的16进制字符串表示SHA256和SHA512,不过越安全的算法越慢,而且摘要长度更长注意:哈希算法又称为摘要算法,它生成的是固定长度的不可逆的混杂字符串。不要与加密算法混为一谈,因为加密对应着解密。而哈希算法很难很难解密。通常为了保护用户的隐私,我们不会选择直接将明文的密码存...原创 2019-03-22 15:34:20 · 8140 阅读 · 0 评论 -
Python分布式进程使用(Queue和BaseManager使用)
分布式进程需要模块multiprocessing和queue模块使用BaseManager创建分布式管理器使用Queue创建队列,用于多个进程之间的通信分布式进程原理managers子模块支持把多个进程分布到多台机器上可以写一个服务进程作为调度者,将任务分布到其它多个进程中,然后通过网络通信进行管理比如爬取图片:一般一个进程负责抓取图片的地址,将地址放在Queue(容器)队列...原创 2019-03-03 21:39:05 · 10795 阅读 · 6 评论 -
Python3中multiprocessing.Queue()和queue.Queue()的区别
from multiprocessing import Pool, Process, Queuefrom Queue import QueueQueue.Queue是进程内非阻塞队列,multiprocess.Queue是跨进程通信队列。1.from queue import Queue这个是普通的队列模式,类似于普通列表,先进先出模式,get方法会阻塞请求,直到有数据get出来为止2....原创 2019-03-03 16:36:50 · 3699 阅读 · 0 评论 -
Python中monkey.patch_all()解决协程阻塞问题
直接参考以下实例,采用协程访问三个网站由于IO操作非常耗时,程序经常会处于等待状态比如请求多个网页有时候需要等待,gevent可以自动切换协程遇到阻塞自动切换协程,程序启动时执行monkey.patch_all()解决# 由于IO操作非常耗时,程序经常会处于等待状态# 比如请求多个网页有时候需要等待,gevent可以自动切换协程# 遇到阻塞自动切换协程,程序启动时执行monkey.pa...原创 2019-02-22 11:41:18 · 6657 阅读 · 0 评论 -
Python高级语法——log/日志事件——学习心得笔记
Python高级语法——log——学习心得笔记参考博客:Python之日志处理-logging模块(https://www.cnblogs.com/yyds/p/6901864.html)1. 日志相关概念日志的级别不同用户关注不同的程序信息日志的级别如下,从低到高DEBUGINFONOTICEWARNINGERRORCRITICALALERTEMERGENCY...原创 2019-01-16 09:59:31 · 608 阅读 · 0 评论 -
Python高级语法——协程/迭代器/生成器——学习心得笔记
Python高级语法——协程——学习心得笔记1. 迭代器可迭代(Iterable): 直接作用于for循环的变量迭代器(Iterator): 不但可以用于for循环,还可以被next调用list是典型的可迭代对象,但不是迭代器isinstance判断是否可迭代或者迭代器iter转换可迭代的为迭代器看案例32_132_1 # 迭代器实例# l是可迭代的,但不是迭代器...原创 2019-01-16 09:55:53 · 369 阅读 · 0 评论 -
Python高级语法——多线程——学习心得笔记
Python高级语法——多线程——学习心得笔记参考博客:python开发线程:线程&守护线程&全局解释器锁Python 多线程-菜鸟教程1. 多线程 VS 多进程程序:一堆代码以文本形式存入一个文档进程:程序运行的一个状态包含地址空间,内存,数据栈每个进程有自己独立的运行环境多进程共享数据是一个问题线程一个线程的独立运行片段,一个...原创 2019-01-16 09:51:19 · 315 阅读 · 0 评论 -
Python高级语法——函数式编程——学习心得笔记
Python高级语法——函数式编程——学习心得笔记1. 函数式编程(FunctionalProgramming)1.1. 基于lambda演算的一种编程方式程序中只有函数函数可以作为参数,同样可以作为返回值纯函数式编程语言:LISP, HaskellPython函数式编程只是借鉴函数式编程的一些特点,可以理解为一半函数式一半Python常用函数高阶函数返回函...原创 2019-01-15 23:12:04 · 548 阅读 · 0 评论 -
Python高级语法——文件的读取/写入/序列化/持久化——学习心得笔记
Python高级语法——文件——学习心得笔记1. 文件(file)长久保存信息的一种数据信息集合1.1. open函数函数负责打开文件,带有很多参数第一个参数:文件的路径和名称,必须有mode: 表明文件以什么方式打开r: 只读方式打开w: 写方式打开,会覆盖以前的内容,如果没有文件,则创建文件x: 创建方式打开,如文件已经存在,报错a: append方式,以...原创 2019-01-15 23:05:15 · 324 阅读 · 0 评论 -
Python高级语法——格式化文件——学习心得笔记
Python高级语法——格式化文件——学习心得笔记前言为了解决不同设备之间的信息交换两个模块xml,json1. xml (EXtensible Markup Language)XML 指可扩展标记语言XML 被设计用来传输和存储数据什么是 XML?XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很...原创 2019-01-15 22:59:18 · 267 阅读 · 0 评论 -
Python高级语法——正则表达式和XPath——学习心得笔记
Python高级语法——正则表达式和XPath——学习心得笔记1. 正则表达式(Regular Expression)正则表达式(Regular Expression)是一种文本模式包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串常常用来检索,替换某些模式的文本正则表达式写法...原创 2019-01-15 22:53:32 · 2249 阅读 · 1 评论 -
Python高级语法——网络编程——学习心得笔记
Python高级语法——网络编程——学习心得笔记1. 网络编程网络协议:一套规则网络模型七层模型四层模型-实际应用每一层都有相应的协议负责交换信息或者协同工作TCP/IP 协议IP地址:负责在网络上唯一定位一个机器IP地址分为ABCDE类由四个数字段组成,每个数字段的取值0-255192.168.xxx.xxx 局域网IP127.0.0.1 本机...原创 2019-01-15 22:45:07 · 323 阅读 · 0 评论