
python基础
文章平均质量分 59
JessePinkmen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python实现mini_web框架
11.1python实现mini_web框架理解框架,路由,模版1静态资源动态资源静态资源,不需要经常改变,js,css,html,web服务器保存动态资源,动态变化数据,需要根据情况/条件变化的数据模版就是一个空的网页,需要从数据库查询对应资源进行填充web框架应用程序(V...原创 2018-11-01 19:42:14 · 959 阅读 · 0 评论 -
正则表达式
正则表达式pattern识别和处理文本与数据,通用的正则表达式1.正则表达式介绍:就是记录文本规则的代码,不管邮箱,电话,地址等都有一定规则目的就是在一串杂乱无章的字符中匹配出想要的数据适用于多种语言2.匹配单个字符.匹配除换行符以外任意字符,任意一个\w:非特殊字符[]匹配列表中任选的一位,有一定循序的可以用- 例如[a-z]\d: 表示数字0-9\D: 表示匹配非数字...原创 2018-10-17 17:52:52 · 225 阅读 · 0 评论 -
# join()方法和split()方法
b’'是一个空字节表示用空字节连接字节串,python3新的地方,以前join只能连接字符串,现在可以连接字节串python字符串转成字节串三种方法:str=‘zifuchuang’第一种 b’zifuchuang’第二种bytes(‘zifuchuang’,encoding=‘utf-8’)第三种(‘zifuchuang’).encode(‘utf-8’)b”的表示的注意Pyth...原创 2018-10-10 21:23:06 · 1046 阅读 · 0 评论 -
python字符串中插入变量的三种方法
1 . + 直接字符串外+变量name = 'zheng'print('my name is '+name)结果: my name is zheng2 . % 直接字符串外%(变量)name = 'zhang'age = '25'print('my name is %s'%(name)+' my age is %d'%(age))3.format()函数在要插入较多的变量时...原创 2018-10-10 19:47:56 · 46092 阅读 · 1 评论 -
协程
协程Interable 可迭代isinstance 是否是指定类型包管理不同的模块生成器是特殊的迭代器使用for循环迭代使用的过程、1.可迭代对象能使用for循环遍历取值的对象就是可迭代对象使用isinstance判断元组,列表,字典,字符串,集合,range默认创建类的对象不是可迭代对象2.自定义可迭代对象默认创建类的对象不是可迭代对象,所以需要创建可迭代对象在类里提高...原创 2018-10-16 21:17:27 · 158 阅读 · 0 评论 -
网络编程
网络UDP无连接,不可靠,但是速度快,可以广播原创 2018-10-10 12:25:11 · 275 阅读 · 0 评论 -
HTTP协议
HTTP协议定义了客户端如何从服务器请求页面,和服务器把页面传送给客户端1.请求 Request请求行,请求头部,空格,请求数据GET /562f25980001b1b106000338.jpg HTTP/1.1Host img.mukewang.comUser-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/53...原创 2018-10-09 16:32:19 · 270 阅读 · 0 评论 -
Python程序执行顺序
Python是按顺序来读的经典结构是这样为了区分是主动执行还是被动调用有__name__这个特殊的变量当主动执行__name__的值是__main__因此可以在程序尾部加入if __name__ == '__main__': main()这样来写一个py程序若为模块被调用,那就不用写main()函数了...原创 2018-10-09 14:18:58 · 2143 阅读 · 0 评论 -
Python split() join()方法
1Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则仅分隔 num 个子字符串str.split(str="", num=string.count(str)).参数str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num – 分割次数。返回值返回分割后的字符串列表。2Python join() 方法用于将序...原创 2018-10-09 10:36:56 · 284 阅读 · 0 评论 -
python提高
1.GILpass 占位符,空语句全局解释器锁,保证同一时刻只有一个线程在执行,是解释器cpython的历史原因GIL和python语言本身没有任何关系IO密集形 :使用于多线程,协程计算密集形 :使用于进程用c语言解决GIL问题,在python中嵌入c:编译c为一个动态库python加载库,再调用里面的函数python里面调用c,java,等等所有其他语言都可以2.深拷贝,浅拷...原创 2018-10-22 18:00:05 · 195 阅读 · 0 评论 -
关于深拷贝和浅拷贝的笔试题
思考下面的代码运行出的结果是什么:list = [0, 1, 2]list[1] = listprint(list)[0,[…],2]第1题中如何最终得出list = [0, [0, 1, 2], 2]这样的结果?list[1] = [0,1,2]经过以下步骤, a和b分别是多少? 为什么?a = [0, [1, 2], ...原创 2018-10-22 19:32:38 · 583 阅读 · 0 评论 -
Python装饰器
10.31 Python装饰器需要了解装饰器,需要先了解闭包,装饰器中有用到闭包装饰器就是在不修改函数代码的前提下修改添加函数功能闭包和装饰器在开发和面试中必问的,常用的1.闭包闭包就是多层函数嵌套定义,往往内部函数用到外部函数的变量,把这个整体当作一个特殊的对象如果在一个内部函数里对外部作用域(但不是全局作用域)的变量进行引用,内部函数称为闭包(closure)1.1闭包引用ca...原创 2018-10-31 18:22:51 · 261 阅读 · 0 评论 -
Python并发服务器
为了让服务器可以完成对多个请求的应答,可以构建并发服务器,以python为例,可以有以下几个方式:1.多进程服务器from socket import *from multiprocessing import *from time import sleep# 处理客户端的请求并为其服务def dealWithClient(newSocket,destAddr): while T...转载 2018-10-21 17:00:38 · 431 阅读 · 0 评论 -
非阻塞的socket
非阻塞的socket同步和异步的概念描述的是用户线程与内核的交互方式:同步是指用户线程发起IO请求后需要等待或者轮询内核IO操作完成后才能继续执行;而异步是指用户线程发起IO请求后仍继续执行,当内核IO操作完成后会通知用户线程,或者调用用户线程注册的回调函数。阻塞和非阻塞的概念描述的是用户线程调用内核IO操作的方式:阻塞是指IO操作需要彻底完成后才返回到用户空间;而非阻塞是指IO操作被调用后立...原创 2018-10-21 15:53:10 · 387 阅读 · 0 评论 -
python中SQL语言与mysql
#mysql-基本使用SQL也是一种编程语言SQL注释 –数据库是一种特殊文件,存在硬盘下列,字段;行,记录;主键,能唯一标记某个字段就是主键mysql关系型数据库1.RDBMS,Mysql介绍关系型数据库管理系统,一种程序的系统,通过表表示关系型,借助集合代数等处理数据库中的数据主要产品:oracle,mysql,SQLite等C/S 架构RDBMS-Client通过SQL连...原创 2018-10-25 20:05:47 · 614 阅读 · 0 评论 -
mysql与python的交互 pymysql
mysql与python的交互 pymysql主键写0,null,default都自动递增不是主键,默认,只能写default1.拆为多个表先创建一个新的表 if not exists 如果原来不存在就建立表写入:insert into good_cates (name) select good_cates from good group by good_cates;关联替换、同步u...原创 2018-10-28 19:37:31 · 275 阅读 · 0 评论 -
python提高2
python提高21.多继承中的MRO顺序一个类可以有多个父类,多继承,难点:superpython里用的多的,重写,重新覆盖父类的方法用父类名字调用父类,浪费资源用super是先到mro元组里查找对应的调用,再从这个往后一个调用c3算法确定mor元组。保证每个类只调用一次class Parents(object): a = 100 def __init__(sel...原创 2018-10-25 11:01:55 · 266 阅读 · 0 评论 -
# re模块,各个模块的比较
re模块,各个模块的比较1.match()match必须从头匹配一个对象,只匹配一个,成功返回一个对象,没有成功返回Nonematch基本和search一样,不一样的是search是全局的匹配一个合规则的字串为什么要有分组?提取匹配成功的部分我们需要的内容,先全部匹配,然后将我们需要的局部提取出来match.group() 得到匹配成功的所有结果match.groups() 得到模型...原创 2018-10-20 21:26:02 · 337 阅读 · 0 评论 -
深拷贝,浅拷贝,面试重要
思考下面的代码运行出的结果是什么:list = [0, 1, 2]list[1] = listprint(list)list的第2个元素指向list本身, 所以无限循环如何得出list = [0, [0, 1, 2], 2]这样的结果?list[1] = list[:]经过以下步骤, a和b分别是多少? 为什么?a = [0, [1,&nb...原创 2018-10-22 21:21:17 · 395 阅读 · 0 评论 -
python之OS模块详解
os.path.exists() 判断文件或目录是否存在os.mkdir 创建目录os.sep:取代操作系统特定的路径分隔符os.name:指示你正在使用的工作平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’。os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径。os.getenv()和os.putenv:分别用来读取和...原创 2018-10-14 19:09:11 · 245 阅读 · 0 评论 -
进程
进程程序,代码块,.py .exe进程:运行起来的程序,进程,资源分配的最小单位,向系统申请资源线程:真正干活的是线程,执行代码,cpu调度的最小单位。一个程序最小有一个进程,一个进程最小有一个线程线程依附在进程里1.进程的状态新建->就绪->运行-》死亡运行-〉休眠-》死亡2.进程的使用导入multiprocessing模块Process类创建进程 proce...原创 2018-10-14 17:54:12 · 244 阅读 · 0 评论 -
黑马班python总结
1,python语言的特点2,什么解释器?有哪些版本? 举例说明区别?3,注释单行和多行4,算术运算符5,变量6,if语句7,循环8,函数定义和return和函数进阶9,高级变量(字符串,列表,元组,字典)9.1,他们有哪些常用方法?每一个方法有哪些作用?9.2 变量进阶10,文件11.异常12,面向对象的所有13,模块14,单利模式15,eval()函数pyth...原创 2018-10-07 21:13:38 · 1784 阅读 · 0 评论 -
python简介
认识python 人生苦短,我用python–life is short,I use python01.python起源1.1解释器计算机不能直接理解任何除机器语言以外的语言,所以必须要把程序员所写的程序语言翻译成机器语言,计算机才能执行程序。将其他语言翻译成机器语言的工具,被称为编译器编译器翻译的方式有两种:一个是编译,另外一个是解释。两种方式之间的区别在于翻译...原创 2018-09-14 13:01:13 · 191 阅读 · 0 评论 -
异常
Exception原创 2018-09-16 22:47:29 · 174 阅读 · 0 评论 -
Python输入与输出
输入inputdef reverse(text): return text[::-1]def is_palindrome(text): return text == reverse(text)something = input("Enter text: ")if is_palindrome(something): print("Yes, it is a p...原创 2018-09-16 22:40:14 · 272 阅读 · 0 评论 -
Python面向对象编程
类与对象是面向对象编程的两个主要方面。一个类(Class)能够创建一种新的类型(Type),其中对象(Object)就是类的实例(Instance)。可以这样来类比:你可以拥有类型 int 的变量,也就是说存储整数的变量是 int 类的实例(对象)。对象可以使用属于它的普通变量来存储数据。这种从属于对象或类的变量叫作字段(Field)。对象还可以使用属于类的函数来实现某些功能,这种函数叫作类的...原创 2018-09-16 21:45:11 · 181 阅读 · 0 评论 -
解决第一个问题
我想要一款程序来备份我所有的重要文件。分析 + 设计* 需要备份的文件与目录应在一份列表中予以指定。 * 备份必须存储在一个主备份目录中。 * 备份文件将打包压缩成 zip 文件。 * zip 压缩文件的文件名由当前日期与时间构成。 * 我们使用在任何 GNU/Linux 或 Unix 发行版中都会默认提供的标准 zip 命令进行打包。在这里你需要了解到只要有命令行界面,...原创 2018-09-16 15:43:23 · 206 阅读 · 0 评论 -
数据结构
含义也很简单,只是一种组织数据的结构,储存一系列相关数据的集合 * 列表 List * 元组 Tuple * 字典 Dicthonary * 集合 Set列表[] 可变的数据类型 用于保存一系列有序项目的集合,就像购物清单,上面列出了需要购买的商品,除开在购物清单上你可能为每件物品都单独列一行,在 Python 中你需要在它们之间多加上一个逗号。类比 类(class)与...原创 2018-09-16 15:14:48 · 188 阅读 · 0 评论 -
模块
含义很简单,就是在别的程序中重用所编写的一些函数。编写模块有很多种方法,其中最简单的一种便是创建一个包含函数与变量、以 .py 为后缀的文件。另一种方法是使用撰写 Python 解释器本身的本地语言来编写模块。使用标准库模块import sysprint('The command line arguments are:')for i in sys.argv: pri...原创 2018-09-16 14:44:50 · 163 阅读 · 0 评论 -
函数
通过def name(形参)定义函数;是指可在程序内重复调用的代码块def hello(): print("hello")hello()参数局部变量globalx = 50def func(): global x print('x is', x) x = 2 print('Changed global x to', ...原创 2018-09-16 14:07:39 · 175 阅读 · 0 评论 -
第一个 Python 程序
第一个 Python 程序目标第一个 HelloPython 程序Python 2.x 与 3.x 版本简介执行 Python 程序的三种方式 解释器 —— python / python3交互式 —— ipython集成开发环境 —— PyCharm01. 第一个 HelloPython 程序1.1 Python 源程序的基本概念Python ...原创 2018-09-14 13:29:09 · 507 阅读 · 1 评论 -
Python语法
1.行与缩进python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。缩进相同的一组语句构成一个代码块,我们称之代码组。2.多行语句Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠\来实现多行语句3.空行函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。...原创 2018-09-14 15:18:27 · 323 阅读 · 0 评论 -
线程
线程线程是程序运行过程中,执行代码的分支同步:事情一件件执行异步:任务间的执行互不干扰,同时执行并发:异步任务数大于通道数,随便找一个先走,一个个走,只是系统切换任务的速度很快,看起来像是一起运行并行:异步任务数小于通道数,同时通过,是真的把所有人无一起执行1.多任务同一时间执行多个任务,就是多任务的概念,几核就同时运行几个任务,叫cpu的时间线轮转,2.线程模块threadi...原创 2018-10-14 10:57:58 · 251 阅读 · 0 评论 -
exit与return的区别
exit退出一个程序return 退出一个函数,并返回结果exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return返回函数值,是关键字; exit 是一个函数。return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。return是函数的退出(返回);exit是进程的退出。retur...转载 2018-10-14 10:10:23 · 159 阅读 · 0 评论 -
#tcp的长连接
为了不重复的建立三次握手,四次挥手,极大浪费计算机资源tcp设置长连接机制,在长连接中,不进行通道的关闭tcp引入了一个心跳机制:定时间,客户端向服务端发送一个数据包,告诉服务器自己依然在线在TCP的机制里面,本身是存在有心跳包的机制的,也就是TCP的选项:SO_KEEPALIVE,心跳包主要也就是用于长连接的保活和断线处理。一般的应用下,判定时间在30-40秒比较不错。如果实在要求高,那就...原创 2018-10-13 08:46:56 · 308 阅读 · 0 评论 -
Tcp编程
TCP协议点对点面向连接,可靠,字节流可靠传输应答机制超时重传差错检验流量控制,阻塞管理tcp socket 步骤client:1,socket()2,connet()3,send()4,recv()阻塞,只要套接字关闭了,recv就解阻塞,返回长度为05,close()socket.setsockopt(套接字(SOL_SOCKET),选项,True)server...原创 2018-10-11 18:07:44 · 227 阅读 · 0 评论 -
Python随手记:argument 与parameter区别
根据网上一些资料,对parameter和argument的区别,做如下的简单说明。parameter是指函数定义中参数,而argument指的是函数调用时的实际参数。简略描述为:parameter=形参(formal parameter), argument=实参(actual parameter)。在不很严格的情况下,现在二者可以混用,一般用argument,而parameter则比较少...原创 2018-10-11 18:01:32 · 8522 阅读 · 0 评论 -
运算符
和c差不多 逻辑运算 and x and y 布尔”与” - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。 or x or y 布尔”或” - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。 not not x 布尔”非” - 如果 x 为 True,...原创 2018-09-14 20:10:19 · 217 阅读 · 0 评论 -
Python解释器
1.交互式编程在终端中输入python3然后写源码来编译2.脚本式编程用python3 hello.py编译原创 2018-09-14 19:26:56 · 193 阅读 · 0 评论 -
控制流
在 Python 中有三种控制流语句——if for 和 while。ifwhileforifnumber = 23guess = int (input('Enter a num:'))if guess == number: # 新块从这里开始 print('Congratulations, you guessed it.') print('...原创 2018-09-16 13:11:51 · 223 阅读 · 0 评论