python
喝醉的咕咕鸟
每天学一点,进步一点点
展开
-
Python复习总结
⼀. 解释器的作⽤Python解释器作⽤:运⾏⽂件。Python解释器种类:CPython,C语⾔开发的解释器[官⽅],应⽤⼴泛的解释器。IPython,基于CPython的⼀种交互式解释器。 PyPy,基于Python语⾔开发的解释器。 Jython,运⾏在Java平台的解释器,直接把Python代码编译成Java字节码执⾏。 IronPython,运⾏在微软.Net平台上的Python解释器,可...原创 2021-11-09 18:44:31 · 614 阅读 · 0 评论 -
python svg转成eps/ps/png等格式文件
#linux 需要的环境配置# yum install python3# yum install gnome-core-devel# yum install libgnomeui-devel# yum install gtk2 gtk2-devel gtk2-devel-docs# yum install gnome-devel gnome-devel-docs# yum instal...原创 2020-04-24 14:09:46 · 3148 阅读 · 0 评论 -
Python 访问限制
内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问class Student(object): def __init__(self, name, score): self.__name = name self.__score ...原创 2018-02-07 18:10:00 · 143 阅读 · 0 评论 -
Python 面向对象编程
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。而面向对象的程序设计把计算机程序视为一组对象的...原创 2018-02-07 18:05:00 · 83 阅读 · 0 评论 -
Python 匿名函数
关键字lambda表示匿名函数,冒号前面的x表示函数参数。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果。用匿名函数有个好处,因为函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:>>> f = lambda x: x * x>>> f...原创 2018-02-07 17:38:00 · 89 阅读 · 0 评论 -
Python sorted
排序算法:对列表中的元素进行按照指定规则排序。Python内置的sorted()函数就可以对list进行排序:>>> sorted([36, 5, 12, 9, 21])[5, 9, 12, 21, 36]sorted()函数也是一个高阶函数,它还可以接收一个比较函数来实现自定义的排序。比如,如果要倒序排序,我们就可以自定义一个reversed_cmp函数:...原创 2018-02-07 17:00:00 · 155 阅读 · 0 评论 -
Python filter
Python内建的filter()函数用于过滤序列。 和map()类似,filter()也接收一个函数和一个序列。和map()不同的时,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 例如,在一个list中,删掉偶数,只保留奇数,可以这么写:def is_odd(n): return n % 2 == 1...原创 2018-02-07 16:57:00 · 908 阅读 · 0 评论 -
Python reduce
reduce把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)可以将其看成是将一个列表中所有的元素根据传入的函数条件进行运算。比方说对一个序列求和,就可以用reduce实现:&g...原创 2018-02-07 16:54:00 · 223 阅读 · 0 评论 -
Python map
Python内建了map()和reduce()函数。map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。list [1, 2, 3, 4, 5, 6, 7, 8, 9] 将列表中每一个数值加2 可以用map()函数来实现:>>> def f(x):... return x +2.....原创 2018-02-07 16:45:00 · 113 阅读 · 0 评论 -
Pyhont 高阶函数
变量可以指向函数以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码:>>> abs(-10)10 但是,如果只写abs呢?>>> abs<built-in function abs>可见,abs(-10)是函数调用,而abs是函数本身。要获得函数调用结果,我们可以把结果赋值给变量:>...原创 2018-02-07 16:39:00 · 185 阅读 · 0 评论 -
Python 函数式编程
函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要输入是确定的,输出就是确定的,这种纯函数我们称之为没有副作用。而允许使用变量的程序设计语言,由于函数内部的变量状态不确定,同样的输入,可能得到不同的输出,因此,这种函数是有副作用的。函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数!Python对函...原创 2018-02-07 16:29:00 · 93 阅读 · 0 评论 -
Python 递归函数
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出:fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n所以,fact(n)可以表示为n x fact(n-...原创 2018-02-07 16:27:00 · 212 阅读 · 0 评论 -
Python 函数的参数定义
Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。默认参数一定要用不可变对象,如果是可变对象,运行会有逻辑错误!要注意定义可变参数和关键字参数的语法:*args是可变参数,args接收的是一个tuple;**kw是关键字参数,kw接收的是一个dict。以及调用函数时如何传入可变参数和关键字参数的语法:可变参数既可以直接传入:func(...原创 2018-02-07 16:24:00 · 210 阅读 · 0 评论 -
python基础学习
切片:进行复制 不再改变原先的数据的基础上,对数据进行操作:取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下:>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']取前3个元素,应该怎么做?笨办法:>>> [L[0], L[1], L[2]]['Michael',...原创 2018-02-07 16:22:00 · 91 阅读 · 0 评论 -
Python 继承和多态
在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类、父类或超类(Base class、Super class)。比如,我们已经编写了一个名为student的class,有一个run()方法可以直接打印:class Student(object): def run(self):...原创 2018-02-07 18:31:00 · 169 阅读 · 0 评论 -
Python 面向对象高级编程
使用__slots__正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:>>> class Student(object):... pass...然后,尝试给实例绑定一个属性:>>> s = Student()>>> s...原创 2018-02-07 19:02:00 · 177 阅读 · 0 评论 -
python单元测试
个人在工作中用的不多。编写单元测试,我们需要引入Python自带的unittest模块:class Dict(dict): def __init__(self, **kw): super(Dict, self).__init__(**kw) def __getattr__(self, key): try: ret...原创 2018-02-08 10:50:00 · 197 阅读 · 0 评论 -
Python 加密解密
# -*- coding: utf-8 -*-import hashlib'''加密解密'''#MD5是最常见的摘要算法,速度很快,生成结果是固定的128 bit字节,# 通常用一个32位的16进制字符串表示。md5 = hashlib.md5()update = md5.update('hhhhhaaa')print(md5.hexdigest())#SHA1的结果是160...原创 2018-02-12 11:46:00 · 1078 阅读 · 0 评论 -
Python 集合
# -*- coding: utf-8 -*-import base64from collections import namedtuple, deque, defaultdict, OrderedDict,Counter'''tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成:namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素...原创 2018-02-12 11:46:00 · 105 阅读 · 0 评论 -
java加密与解密
http://blog.csdn.net/sinat_29581293/article/details/52126519转载 2018-02-12 11:45:00 · 151 阅读 · 0 评论 -
Python POP3邮件
# -*- coding: utf-8 -*-import poplibimport emailfrom email.parser import Parserfrom email.header import decode_headerfrom email.utils import parseaddr'''用Python的poplib模块收取邮件分两步:第一步是用POP3协议把邮...原创 2018-02-11 12:08:00 · 1401 阅读 · 0 评论 -
Python 网络编程
TCP:http://www.cnblogs.com/likeyou1/p/8435120.htmlUDP:http://www.cnblogs.com/likeyou1/p/8435195.html原创 2018-02-09 14:02:00 · 89 阅读 · 0 评论 -
Python UDP编程
UDP则是面向无连接的协议。数据包就是这种形式。比如:短信。只要数据发送出去。无需去管对方是否接收到。使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包。但是,能不能到达就不知道了。虽然用UDP传输数据不可靠,但它的优点是和TCP比,速度快,对于不要求可靠到达的数据,就可以使用UDP协议。我们来看看如何通过UDP协议传输数据。和TCP类似,使用U...原创 2018-02-09 14:00:00 · 243 阅读 · 0 评论 -
Python 套接字Socket
Socket是网络编程的一个抽象概念。Socket需要知道目标计算机的IP地址和端口号,再指定协议类型。网络编程需要对客户端和服务器之间数据传输进行相关了解。客户端:大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。# -*- coding: utf-8 -*-import socket# AF_INET指定使用IPv4协议,...原创 2018-02-09 13:38:00 · 140 阅读 · 0 评论 -
Python 访问数据库
使用MySQL:安装:第一种:easy_install mysql-connector-python第二种:easy_install MySQL-python# -*- coding: utf-8 -*-# 导入MySQL驱动:import mysql.connector# 注意把password设为你的root口令:conn = mysql.connector.con...原创 2018-02-08 13:38:00 · 208 阅读 · 0 评论 -
Python 电子邮件
要编写程序来发送和接收邮件,本质上就是: 编写MUA把邮件发到MTA; 编写MUA从MDA上收邮件。 发邮件时,MUA和MTA使用的协议就是SMTP:Simple Mail Transfer Protocol,后面的MTA到另一个MTA也是用SMTP协议。收邮件时,MUA和MDA使用的协议有两种:POP:Post Office Protocol,目前版本是3,俗称POP3;...原创 2018-02-08 13:09:00 · 1766 阅读 · 0 评论 -
Python 序列化
在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:d = dict(name='Bob', age=20, score=88)序列化就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。Python提供两个模块来实现序列化:cPickle和pickle。这两个模块功能...原创 2018-02-08 13:04:00 · 241 阅读 · 0 评论 -
Python 文件对比差异
# encoding=utf-8import sysreload(sys)sys.setdefaultencoding('utf-8')import osdd=Nonefor rt, dirs, files in os.walk(u'E:\对比\web.deploy-1.0-SNAPSHOT\BOOT-INF\lib'): dd = filesfor rt, dirs,...原创 2018-02-08 12:14:00 · 486 阅读 · 0 评论 -
Python IO编程
IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。只要进行数据交换,网络传输等行为都会产生io操作。同步IO:CPU等着,也就是程序暂停执行后续代码,等100M的数据在10秒后写入磁盘,再接着往下执行。异步IO:CPU不等待,只是告诉磁盘,“您老慢慢...原创 2018-02-08 12:09:00 · 107 阅读 · 0 评论 -
Python 文档测试
Python内置的“文档测试”(doctest)模块可以直接提取注释中的代码并执行测试。doctest严格按照Python交互式命令行的输入和输出来判断测试结果是否正确。只有测试异常的时候,可以用'''表示中间一大段烦人的输出.class Dict(dict): ''' Simple dict but also support access as x.y style....原创 2018-02-08 11:16:00 · 405 阅读 · 0 评论 -
Python 学习
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868325264457324691c860044c5916ce11b305cb814000转载 2018-02-09 14:04:00 · 89 阅读 · 0 评论