
系统学python基础原理与应用
文章平均质量分 90
系统式学习python基础原理,python基本语法入门,python各种库的应用,爬虫,数据分析等。这里都是python。
涤生大数据
在职阿里,美团,京东,字节大数据技术专家,擅长大数据开发,集群架构/运维,爱好python数据分析/爬虫,
加 v: dsflink 可免费转行评估,职业规划,校招规划,大数据进阶指导,简历把脉
欢迎一起交流
展开
-
Python数据结构-列表
正则小练习:匹配出以下字符串所有url,import redef find_url(sentence, show_urls=None, delete_urls=None): r = re.compile( r'(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()&原创 2021-12-26 08:38:29 · 6071 阅读 · 19 评论 -
Python正则表达式使用
小练习:用代码实现自定义的replace_practice替换函数,实现代码如下:功能是将字符串中所包含的空格替换为mmdef replace_practice(str,a,b,count=None): i=0 #记录替换count次数 n=0 result=[] if count==None: count=len(str) while i<len(str) and len(str)!=0 and n<count:原创 2021-12-22 10:18:05 · 10966 阅读 · 14 评论 -
Python字符串函数使用详解
Python的友好在于提供了非常好强大的功能函数模块,对于字符串的使用,同样提供许多简单便捷的字符串函数。Python 字符串自带了很多有用的函数,在字符串函数之前先介绍一个非常实用的dir()内置函数,因为对每一个初学者还是大佬级别的python程序员,都不能完全记住所有方法。而该函数可以查看所有这些函数,可调用 dir 并将参数指定为任何字符串(如 dir("")),其返回值包括字符串可以使用的变量、方法和定义的类型。>>> dir("")['__add__', '__clas原创 2021-12-17 14:44:02 · 11751 阅读 · 18 评论 -
Python字符串使用详解
除了数字,Python中最常见的数据类型就是字符串,无论那种编程语言,字符串无处不在。例如,从用户哪里读取字符串,并将字符串打印到屏幕显示出来。 字符串是一种数据结构,这让我们有机会学习索引和切片——用于从字符串中提取子串的方法。1 字符串索引在Python语法支持中,我们简单的阐述过字符串的使用,现在我们看看python程序在处理字符串时,如何对其进行索引,打印出其中的每个字符串。我们输入一个字符串:'你好,Lucky',Python使用方括号 [] 来对字符串进行索引,方括号内的数字 0~n 表原创 2021-12-13 15:37:41 · 8870 阅读 · 15 评论 -
Python:变量、参数、模块
简单的使用python函数之后,我们在日常开发中还需要经常使用的三个地方,分别是变量、参数和模块。其中,Python的变量类型已经在语法介绍中做了简单的使用描述。在本篇文章中,会更加强调变量的作用域,并分别介绍参数和模块的使用。1 变量首先,在python中,变量是存储在内存的值,程序在执行创建变量时会在内存中创建一个空间,并且根据变量的数据类型,python解析器会分配指定内存。变量标记或者指向一个值。示例如下:与剧中的 color 就是一个变量名,指向字符串 blue, 代码 color =原创 2021-12-09 15:35:17 · 3373 阅读 · 13 评论 -
Python的函数使用
在两种python循环语句的使用中,不仅仅是循环条件达到才能跳出循环体。所以,在对python函数进行阐述之前,先对跳出循环的简单语句块进行介绍。1 跳出循环-breakpython提供了一种方便快捷的跳出循环的方法-break,示例如下,计算未知数字个数的总和:if __name__ == "__main__": sum = 0 while True: num = str(input('输入的数字 (或者 "完成"): ')) if num =原创 2021-12-06 12:04:54 · 13132 阅读 · 26 评论 -
流程控制之python
经过简单的了解python基本语法和使用后,发现其都是一些顺序执行语句,也就是依次执行,没有任何的分支,循环,也不会返回到以前的执行语句-流程控制。在实际使用中,当然不可避免使用到流程控制语句,但其都要由逻辑表达式进行控制,因此先行介绍一下布尔逻辑。1.1 布尔逻辑什么是布尔逻辑?简单来讲,布尔逻辑就是操作真值。相比大多数编程语言一样,Python也使用布尔逻辑来做决策判断,使用True和False表示。一般经常使用的有4个布尔逻辑运算符,not、and、or、==。在Python语言的使用中原创 2021-11-30 10:43:45 · 5029 阅读 · 32 评论 -
Python入门与各种系统安装部署应用
1 Python简介Python 于20世纪90年代初由Guido van Rossum设计,一种作为计算机编程语言及一组配套的软件工具和功能库,当前由世界各地的数百位程序员负责维护。先来聊一聊Python这个名字的由来。据Python之父Guido自己所言,Python是以喜剧团体 Monty Python的名字命名的,看下Python标识,似乎是一条蓝色和一条黄色的蛇两条缠在一起的蛇所组成。这样的命名起源确乎充满比较喜庆的色彩。Python最起初的设计就是为了易于学习理解、适用于短期开发原创 2021-10-26 12:20:33 · 9663 阅读 · 7 评论 -
玩转python中的GIL前世今生与核心用法剖析
1.GIL的前世今生1.1GIL的是什么? python是解释型语言,不用编译,运行时可以直接通过解释器进行解释执行了。类似linux中的bash解释器,所以python中也有很多解释器,如cpython(C语言实现),jpython等,只是默认的解释器Cpython,所以大家一般使用的python环境都是基于Cpython的。 我们所说的Python GIL...原创 2019-07-17 23:54:45 · 4482 阅读 · 4 评论 -
python连接操作mysql数据库使用详解
在python3中,有个模块pymysql,用户可以通过这个模块实现远程对mysql数据库的操作。1.python操作mysql流程架构2 .python操作mysql使用演示1.安装并且导入包pymysql,如果环境中没有安装pymysql包,可以直接pip3 install pymysql安装该模块,然后使用import pymysql查看是否安装正确。下面是基于py...原创 2019-07-16 10:58:58 · 3331 阅读 · 0 评论 -
玩转python中with的使用与上下文管理器
人是随着时间不断进化而来的,同样编程语言也是随着IT行业的更新换代,功能模块不断地优化与丰富才壮大起来的。比如在python2.5之前使用open读写文件操作就要注意。比如Python 程序打开一个文件后,往文件中写内容,写完之后,就要关闭该文件,否则会出现什么情况呢?极端情况下会出现 "Too many open files" 的错误,因为系统允许你打开的最大文件数量是有限的,默...原创 2019-07-12 20:39:26 · 10574 阅读 · 3 评论 -
网络通信原理:为什么一个IP账号通过路由器可供多人同时使用?
学习过ip中的人都知道,ip的作用就是在网络通信中标识唯一一台主机。那么实际中,你购买了一个账号,运行商给你分配一个ip,通过路由器为什么就可以供多人(多台电脑)同时使用呢?这个时候不就和前面矛盾了吗?1.让两台电脑之间通信:网线想让两台电脑之间通信,最简单的方式就是用一根网线连接双方即可。进行如下的配置:如果两台电脑之间通过网线连接是可以直接通信的,但是需要提前...原创 2019-07-11 21:11:24 · 17330 阅读 · 10 评论 -
python以epoll方式实现HTTP服务器,浏览器通过HTTP与之通信6
实际开发中,由于各种原因,我们一般不会用前面演示几种方式实现多并发的web服务器,而是使用一个种更加高效的方式:epoll方式。比如nginx服务器的实现就是基于epoll方式,同样实现了非阻塞,“并发”。1.什么是epoll? Epoll可是当前在Linux下开发大规模并发网络程序的热门人选,Epoll在Linux2.6内核中正式引入,和select相似,其实都...原创 2019-07-11 16:19:23 · 1454 阅读 · 2 评论 -
python实现协程方式的HTTP服务器,浏览器通过HTTP与之通信4
实际开发中,多线程多进程尽管效率很高,但是当服务器面临多并发,海量访问时,不可能说建立那么多的进程,线程数,而是通过更小粒度的协程方式来实现,这样可以更高地利用CPU资源。 网络间通信是基于TCP协议传输数据的,而服务器与浏览器之间通信是基于HTTP协议的,那么下面基于python实现一个协程方式tcp服务器,浏览器可以基于http协议进行发送请求和解析。浏览器展示...原创 2019-07-11 11:29:50 · 2387 阅读 · 1 评论 -
python实现多进程与多线程HTTP服务器,浏览器通过HTTP与之通信3
因为网络间通信是基于TCP协议传输数据的,而服务器与浏览器之间通信是基于HTTP协议的,那么下面基于python实现一个多进程或多线程tcp服务器,浏览器可以基于http协议进行发送请求和解析。浏览器展示返回的一个标准的HTML网页,此外实现服务器解析客户端多次请求并且返回请求结果。即:客户端根据HTML里面的各种链接,再发送HTTP请求给服务器,拿到相应的图片、视频、Flash、...原创 2019-07-11 10:13:13 · 4174 阅读 · 0 评论 -
python实现外部静态服务器,浏览器通过HTTP与之通信2
因为网络间通信是基于TCP协议传输数据的,而服务器与浏览器之间通信是基于HTTP协议的,那么下面基于python实现一个tcp服务器,浏览器可以基于http协议进行发送请求和解析。浏览器展示返回的一个标准的HTML网页,此外实现服务器解析客户端多次请求并且返回请求结果。即:客户端根据HTML里面的各种链接,再发送HTTP请求给服务器,拿到相应的图片、视频、Flash、JavaScr...原创 2019-07-10 14:29:51 · 2886 阅读 · 1 评论 -
python实现外部静态服务器,浏览器通过HTTP与之通信1
因为网络间通信是基于TCP协议传输数据的,而服务器与浏览器之间通信是基于HTTP协议的,那么下面基于python实现一个tcp服务器,浏览器可以基于http协议进行发送请求和解析。展示浏览器返回一个固定页面和HTML页面案例。1.服务器只能返回固定页面给请求者import socketdef handle_client(client_socket): "为一个客户端...原创 2019-07-07 23:01:23 · 7399 阅读 · 6 评论 -
HTTP协议简介与在python中的使用详解
1. 使用谷歌/火狐浏览器分析在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以: HTML是一种用来定义网页的文本,会HTML,就可以编写网页; HTTP是在网络上传输HTML的协议,用于浏览器和服务器的通信。 Chrome浏览器提供了一套完整地调试工具,非常适合Web开发。...原创 2019-07-07 21:36:56 · 8662 阅读 · 6 评论 -
玩转python协程的使用gevent,greenlet,yield等
1.进程,线程,协程的关系1.1一个浅显的例子,说明三者的逻辑关系有一个老板想要开个工厂进行生产某件商品(例如剪子) 他需要花一些财力物力制作一条生产线,这个生产线上有很多的器件以及材料这些所有的 为了能够生产剪子而准备的资源称之为:进程 只有生产线是不能够进行生产的,所以老板的找个工人来进行生产,这个工人能够利用这些材料最终一步步的将剪子做出来,这个来做事情的工人称之为:线程 这个...原创 2019-07-04 19:18:26 · 2407 阅读 · 0 评论 -
玩转python进程池的使用与进程之间通信的实现
1.用queue实现两个进程之间数据传输,一个读取,一个写入from multiprocessing import Process, Queueimport os, time, random# 写数据进程执行的代码:def write(q): for value in ['A', 'B', 'C']: print('Put %s to queue...' % ...原创 2019-07-04 13:59:03 · 3835 阅读 · 0 评论 -
彻底搞懂python执行multiprocessing Pool线程池程序报错RuntimeError:reeze_support()
1.执行一个python的multiprocessing.Pool进程池程序,实现多进程程序,代码如下,结果在windows下执行报错,但是在linux和unix里面执行没有报错?from multiprocessing import Poolimport time ,os ,randomdef worker(msg): t_start = time.time() #获取当...原创 2019-07-04 11:25:05 · 9048 阅读 · 3 评论 -
玩转python进程使用,知识点讲解与代码演示
1.进程与线程的区别?1.1形象来区分进程,能够完成多任务,比如 在一台电脑上能够同时运行多个QQ 线程,能够完成多任务,比如 一个QQ中的多个聊天窗口1.2.原理区分进程是系统进行资源分配和调度的一个独立单位,所谓的进程就是“运行的程序+需要的资源” 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一...原创 2019-07-03 23:33:08 · 1902 阅读 · 0 评论 -
python多线程实现UDP网络通信代码演示
需求:编写一个有2个线程的程序 线程1用来接收数据然后显示 线程2用来检测键盘数据然后通过udp发送数据import socketimport threadingdef send_msg(udp_socket): """获取键盘数据,并将其发送给对方""" while True: # 1. 从键盘输入数据 msg = input(...原创 2019-07-03 18:49:24 · 4567 阅读 · 0 评论 -
python线程互斥锁和死锁问题详解与演示
1.什么是互斥锁 当多个线程几乎同时修改某一个共享数据的时候,需要进行同步控制。线程同步能够保证多个线程安全访问竞争资源,最简单的同步,是引入互斥锁。互斥锁为资源引入一个状态:锁定/非锁定 某个线程要更改共享数据时,先将其锁定,此时资源的状态为“锁定”,其他线程不能更改;直到该线程释放资源,将资源的状态变成“非锁定”,其他的线程才能再次锁定该资源。互斥锁保证...原创 2019-07-03 16:33:44 · 1391 阅读 · 0 评论 -
python自定义线程类的使用与共享全局变量的问题
通过使用threading模块能完成多任务的程序开发,但 实际开发中为了让每个线程的封装性更完美,所以使用threading模块时,往往会定义一个新的子类class,只要继承threading.Thread就可以了,然后重写父类的run方法即可1.自定义线程类import timeclass Test_Thread(threading.Thread): #1.自定义线...原创 2019-07-03 15:35:50 · 3516 阅读 · 0 评论 -
python多线程工作原理与实现代码演示
1.什么叫多任务? 什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。2.设么叫线程与进程?1.进程与线程的描述进程:是指在系统中正在运行的一个应用程序;线程:是系统分配处理器时间...原创 2019-07-03 14:14:48 · 2222 阅读 · 0 评论 -
python基于tcp协议实现客户端从服务器进行文件下载
用python实现一个机遇tcp协议的服务器和客户端,服务器存储文件,客户端从服务器请求文件下载,互相通信。1.tcp协议的服务器实现from socket import *import sysdef get_filecontent(file_name): '''方法的作用是读取文件内容给客户端''' try: with open(f...原创 2019-07-02 20:24:48 · 4732 阅读 · 2 评论 -
python实现TCP服务器与多个客户端通信案例
1.TCP实现服务器端与多个客户端通信import socketdef main(): # 1. 创建套接字socket tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2. 绑定本地信息 bind tcp_server_socket.bind(("", 7...原创 2019-07-02 18:59:56 · 12347 阅读 · 4 评论 -
python代码实现tcp客户端和服务端通信演示
1.TCP介绍TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP通信需要经过创建连接、数据传送、终止连接三个步骤。2.TCP特点1. 面向连接通信双方必须先建立连接才能进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连...原创 2019-07-02 17:21:05 · 7976 阅读 · 3 评论 -
python中使用UDP实现网络版聊天工具
创建一个基于udp的网络程序流程很简单,具体步骤如下:创建客户端套接字 发送/接收数据 关闭套接字import socket# 发送数据方法def send_Msg(udp_socket): msg = input("\n please enter your data:") dest_ip = input("\n enter the destination i...原创 2019-07-02 15:41:04 · 1583 阅读 · 0 评论 -
python中encode和decode使用讲解与演示
1.基本语法1.encode()和decode()都是字符串的函数 decode解码 encode编码str ---------> str(Unicode,byte类型) ---------> str 2.decode()与encode()方法可以接受参数,其声明分别为:其中的encoding是指在解码编码过程中使用的编码(此...原创 2019-07-02 14:56:53 · 12548 阅读 · 0 评论 -
python中socket与UDP使用与通信详解
网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用进程(进程)。这样利用ip地址+协议+端口就可以标识网络的进程了。所谓进程指的是:运行的程序以及运行时用到的资源这个整体称之为进程(进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间) 所谓进程间通信指的是:运行的程序之间的数据共享1.什么是s...原创 2019-07-02 14:13:20 · 5620 阅读 · 0 评论 -
python中的eval函数的使用详解
eval是Python的一个内置函数,功能十分强大,这个函数的作用是,返回传入字符串的表达式的结果。就是说:将字符串当成有效的表达式来求值 并返回计算结果。 eval函数就是实现list、dict、tuple与str之间的转化,同样str函数把list,dict,tuple转为为字符串1.eval的语法eval(expression[, globals[, loc...原创 2019-07-01 17:24:20 · 249866 阅读 · 24 评论 -
python2和python3文件的编码格式
文本文件的编码格式(科普)文本文件存储的内容是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等Python 2.x 默认使用ASCII编码格式Python 3.x 默认使用UTF-8编码格式,也有说是unicode的UTF-8 是一种 Unicode 的编码方式,主要作用对 Unicode 码的数据进行转换,转换后方便存储和网络传输python3...原创 2019-07-01 16:24:48 · 2609 阅读 · 0 评论 -
轻松搞定python中模板和包的使用
01. 模块1.1 模块的概念模块是 Python 程序架构的一个核心概念每一个以扩展名py结尾的Python源代码文件都是一个模块 模块名同样也是一个标识符,需要符合标识符的命名规则 在模块中定义的全局变量、函数、类都是提供给外界直接使用的工具 模块就好比是工具包,要想使用这个工具包中的工具,就需要先导入这个模块1.2 模块的两种导入方式...原创 2019-07-01 15:47:07 · 1059 阅读 · 1 评论 -
python使用__new__实现单例模式创建对象
01. 单例设计模式 设计模式 设计模式是前人工作的总结和提炼,通常,被人们广泛流传的设计模式都是针对某一特定问题的成熟的解决方案 使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 单例设计模式 目的—— 让类创建的对象,在系统中只有唯一的一个实例 每一次执行类名()返回的对象,内存地址是相同的 单例设计模式的应用场...原创 2019-07-01 15:28:43 · 6679 阅读 · 0 评论 -
python爬虫requests的库使用详解
Requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多,Requests库是用pythony语言开发,基urllib,采用Apache2 Licensed 开源协议的 第三方HTTP库。 Requests的官网文档:requests官网中文文档1.requests发送get请求与常见属性1.1.requests的发送无参ge...原创 2018-12-23 21:30:38 · 2539 阅读 · 1 评论 -
urllib库中的urllib.parsel解析模块使用
urlib.parse模块,主要是对url数据进行解析,分解,组合等操作。目前urllib.parse模块下主要有urllib.parse.urlpase,urllib.parse.urlunparse,urlliib.parse.urljoin和urlencode常用几个方法。1.urlparse()的使用urlparse模块主要是把url拆分为6部分,并返回元组。urlpa...原创 2018-12-23 17:16:05 · 3233 阅读 · 0 评论 -
windows下python常用库的安装
windows下python常用库的安装,前提安装了annaconda 的python开发环境。只要已经安装了anaconda,要安装别的库就很简单了。只要使用pip即可,正常安装好python,都会自带pip安装 工具,在python的scripts安装目录下可以查看。具体安装步骤:使用Anaconda在windows下管理python开发环境 python常用库的安装是pytho...原创 2018-12-23 00:49:23 · 17978 阅读 · 3 评论 -
Python常用库urllib中urllib.request模块使用详解
1.urllib2和urllib库的区别 Urllib库是Python中的一个功能强大、用于操作URL,并在做爬虫的时候经常要用到的库。在Python2.x中,分为Urllib库和Urllin2库,Python3.x之后都合并到Urllib库中了。实际开发中,用Requests多余urllib. 这里介绍使用的python3中的urllib库包括以下模块urll...原创 2018-12-22 23:55:18 · 19359 阅读 · 0 评论