
Pyhon3.X学习
appleyk
这个作者很懒,什么都没留下…
展开
-
Python Turtle Graphics ☞ 小乌龟爬呀爬
出于无聊和好玩,安装了turtle模块,p3安装可能会有问题,如下: 解决办法: 关于turtle模块中函数的使用说明,网上一搜很多的,下面的注释也很详细,我就不在多说了,下面直接走demo: #!/usr/bin/env Python3# -*- encoding:utf-8 -*-import turtle,rando...原创 2019-01-13 11:36:53 · 2281 阅读 · 0 评论 -
Python3学习(27)--枚举类型
枚举类型:一组数量有限的标识符来表示一组连续的整型常数,使能够更清晰的表示出现实世界。比如,我们知道颜色Color,有Red、Black、Blue、Green、Pink等,因此,我们可以为Color创建一组枚举变量如下(C#版本): class Program { enum Color { Red, /原创 2017-09-11 16:38:59 · 15991 阅读 · 0 评论 -
Python3学习(26)--类的量身定制
定制类什么是定制类呢?一般来说,我们的常规类,就是封装一些属性和方法的,然后通过类的实例来访问和调用,仅此而已。你有没有想过,像操作字符串一样操作我们的类实例?有没有想过,像操作迭代器对象那样操作我们的类实例?有没有想过,像操作函数那样操作我们的类实例? 等等,这种异想天开的想法在Python中就很贴合实际,因为动态语言的特性,活泼灵活,前面我们讲过,我们可以给一个编译好的类,在其运行原创 2017-09-09 13:37:29 · 11397 阅读 · 0 评论 -
Python3学习(30)--读写文件(结尾附Ini文件读取案例)
文件的读和写在程序中是最常见的操作之一,比如程序一启动就要加载配置文件(读),程序在运行的时候,要记录日志(写),等等,这些我们就称为IO操作。 本篇开始之前,先讲一下什么是 IO编程 I -->Input -->输入流O -->Output -->输出流 由于数据都是先存在于内存中的,这里的数据,可能来自于磁盘的某个文件...原创 2017-09-16 17:54:58 · 11910 阅读 · 0 评论 -
Python3学习(25)--多继承之mix-in("混入")技术
前面,我们学习过OOP的继承,知道子类可以继承父类的特性,可以拿来用,也可以改变父类的特性变为已有,当然,我们只是学习了一种继承关系,今天,我们要重新认识一下Python的继承之多继承静态语言中,C++支持多继承,一个子类可以拥有多个父类,但是对于Java来说,就不行了,Java只能实现单继承,但是Java可以巧妙的利用实现多个接口(interface),内之类原创 2017-09-08 09:01:40 · 14115 阅读 · 0 评论 -
Python3学习(34)--简单网页内容抓取(爬虫入门一)
基础讲多了也不好,懂的人看了烦躁,半懂的人看多了没耐心,我也不能打消了你们学习Python的积极性了,开始爬虫系列基础篇之前,先上一张图,给大脑充充血:很多人,学习Python,无非两个目的,一个就是纯粹玩(确实好玩),一个就是为了上面这张毛爷爷(确实能换钱),我是二者兼有,至少不清高,也不爱财。在Python中,有一个模块,叫urllib,专门就是为了读取web页面...原创 2020-01-28 14:24:35 · 43974 阅读 · 8 评论 -
Python3学习(29)--异常处理
一、什么是异常? 我们程序开发的过程中,写代码不可能是一帆风顺的,有些编译期间的错误,IDE会帮我们指出来,但是一些错误是在运行期间才能检测的到的,如果,不对这些错误进行处理的话,必定会影响到程序其他模块的使用,这种在运行期间发生的错误我们称之为异常!当然,()编程语言中)任何称呼 都是一个对象,异常也是。二、异常处理原创 2017-09-15 09:37:29 · 11340 阅读 · 1 评论 -
Python3学习(21)--面向对象OOP
任何一门高级语言,都离不开面向对象思想,可见其重要性。面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。面向对象的三大特性:封装继承多态原创 2017-08-29 09:57:43 · 12145 阅读 · 0 评论 -
Python3学习(28)--利用二维数组解决平面图形M的打印
这是一道面试题,题目就是 打印图形 ,图形类似于:M用数字填充后,效果如下:注意,对称关系也要求的话,还要判断数字的长度,比如,数字超过9的话,后面的数字打印空格的时候,就要打印两遍(两位数),如果数字超过99的话,逢空格就要打印三遍(三位数),依次类推。遇见这种数字图形打印题的时候,一般不要慌,又不是3D的图形,只要是平面的原创 2017-09-14 14:07:12 · 12630 阅读 · 0 评论 -
Python3学习(31)--文件和目录的操作
上一篇,我们利用Python内置open函数,打开一个文件(若文件不存在,open函数会创建一个空文件),加上读写权限参数,我们就可以对文件进行读或写操作,文章最后,我们介绍了如何利用文件的读和写来操作ini配置文件,需要我们引入configparser模块。本篇,我们引入内置模块os,学习下,如何利用os模块下提供的功能,来实现文件和目录的操作(增,删,改,查)原创 2017-09-19 15:36:42 · 11359 阅读 · 0 评论 -
Python3学习(35)--多线程(一)
以后写博文,尽量减少文字,多一些demo实例演示,网上从不缺理论的东西,一搜一大片,这个说他讲的比较通俗易懂,那个又说,我的比你还要简洁还要有料,结果,点进去一看,要不就是简单的突出不了重点,要不就是懂了后感觉自己大脑空白,这个怎么结合实际用啊?????一、单核CPU时代,多任务交替执行案列: 一个人在家,边吃着炸鸡,边打着撸啊撸(当然,正常情况下,吃炸鸡原创 2017-09-26 13:52:42 · 11621 阅读 · 0 评论 -
Python3学习(36)--多线程(二)
我们思考一个问题,我们知道多线程,是用来并行执行任务的,任务可能是不一样的,比如上一篇讲的,任务也有可能是一样的(资源共享),那么问题来了假设从信阳开往郑州的火车票总过有1000张(数据越大越能测出问题),在始发站信阳,总过有三个火车票代售点(代售点模拟的越多越能反映问题),这三个代售点,都进行售票的工作,想一想,这里面有什么漏洞吗?资源共享: 火车票 10000张动原创 2017-09-28 15:05:48 · 11559 阅读 · 0 评论 -
Java、Scala、Python ☞ 本地WordCount词频统计对比
需求:模拟MapReduce,对磁盘文件(N个)里面的单词进行词频统计(统计每个单词在文件中出现的次数)区别:计算采用本地模式(单线程),只是模拟Map和Reduce的联合过程,并不单独分离出两个任务(方法)目的:通过不同语言实现词频统计功能,并对比各自的风格 一、数据样例(Samples) 百度网盘:wordcount.rar 主...原创 2018-09-06 15:07:08 · 106161 阅读 · 2 评论 -
Intellij IDEA 安装Python插件 + 创建Python项目(Hello World!)
一、IDEA 2018 Ultimate edition (旗舰破解版下载地址) 百度网盘地址:https://pan.baidu.com/s/1d9ArRH6adhDUGiJvRqnZMw 二、Python插件下载 (1)建议手动安装插件 IDEA Pyhton插件地址:http://plugins.jetbr...原创 2018-09-06 09:58:22 · 36420 阅读 · 3 评论 -
Protobuf二进制文件基于Http协议传输的应用实例 ☞ Python与Java之间无关语言的数据传输
在前两篇中,博主介绍了Google Protocol Buffer【一种数据交互格式】在Python和Java中各自的应用实例,重点就是掌握和理解如何构造protobuff的协议文件proto,文件中的数据组织结构是以messgae开头的,message消息体里面又可以嵌套message,总之,初次接触有点生疏不知所措,但是多写写多测测,还是很容易搞定这种proto文件格式的,搞定后...原创 2018-06-14 13:09:22 · 10492 阅读 · 0 评论 -
Google Protocol Buffer -- Windows下Python的应用
一、参考资料跨语言通信方案的比较—Thrift、Protobuf和AvroGoogle Protobuf 3版本介绍Google Protocol Buffer 简单介绍【python+protobuf】在python中使用protocol bufferProtobuf3语言指南Protobuf协议的Java应用例子二、Probuff...原创 2018-06-13 16:19:00 · 8453 阅读 · 0 评论 -
Python3学习(33)--序列和反序列化(二)
上一篇,我们遗留了一个问题,那就是Python的pickle模块,序列化后的字节流bytes,如果通过socket传给Java,Java可以反序列化吗?我们看下demo案列(案列很简单,就是简单的信息传输,不涉及多线程和回写),验证一下就知道了:Java服务端demoimport java.io.BufferedInputStream;import原创 2017-09-21 15:50:02 · 11994 阅读 · 0 评论 -
Python3学习(32)--序列和反序列化(一)
本篇,我将分为两个章节来讲一下,什么是Python 的序列化,以及Python的序列化在不同语言之间的应用(第二篇将会讲到),当然,有正就有负,有左就要有右,有上就要有下,等等,事物的存在都是有两面性的,因此,讲Python的序列化的时候,就不得不讲到反序列化,如果将这两个概念比喻成行为的话,那么就相当于一个在包装,一个在分解。序列化我们举个简单的例子,就拿1+1来原创 2017-09-21 08:52:50 · 11843 阅读 · 0 评论 -
Python3学习(20)--第三方模块pymysql的安装及使用
安装第三方模块在 Python 中,安装第三方模块,是通过包管理工具 pip 完成的。原创 2017-08-28 17:17:06 · 12656 阅读 · 0 评论 -
Python3学习(19)--模块
Python 模块Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。模块,可以供其他人引用,Python不仅可以引用内置的模块,还可以引原创 2017-08-28 10:16:46 · 11521 阅读 · 0 评论 -
Python3学习(18)--偏函数(Partial)
由于最近出差,没有时间更, 倒不是忙,而是费心,项目其实并不难,主要是涉及钱的地方谈技术略显苍白;没有技术解决不了的问题,但是钱没到位,没人愿意无偿给你提供技术,算是停更一周后的,吐槽吧。赶上今天周末,本想着打打游戏,看看美剧,休息一下,却被媳妇的几篇软文把浮躁的心带走了,那索性就调整一下,学习吧,不早了,我就抓紧时间再唠唠我们的Python,本篇我们来认识一下偏函数--partial fu原创 2017-08-26 22:40:37 · 31613 阅读 · 6 评论 -
Python3学习(14)--Python IDE☞Wing
我们前面一直用的都是Python自带的解释器来编译测试我们的py文件,这有助于增加我们初学者的动手能力,但是,我们也不能一直借助这种方式来编写我们的Python,每个语言都有为其量身定制的几款IDE,我们的Python也不例外,今天我们就讲一下Wing这款IDE:一、下载地址:这个分专业版(功能比较齐全但是要收点费用)和个人、学生版(免费)这里,我们下载免费版本的:Wing 3原创 2017-08-17 14:26:58 · 11652 阅读 · 0 评论 -
Python3学习(4)--集合list和tuple
一个人叫个人,多个人称之为团体,一个人模式很单一,自我约束,团体里面的人就不一样了,每个团体都有自己内部的约束和管理模式,对于团体里面的个人,其行为不能超出团体的管束范围;对应我们今天讲到的集合,也是一样,就是一个集中存放了不同数据我们称之为“容器”的东西。一、listPython内置的一种数据类型是列表-->list,它是一个有序的集合(注意是有序),可以随时添加和删除元素。原创 2017-08-03 08:35:50 · 11643 阅读 · 1 评论 -
Python3学习(9)--列表生成式(List generation)
列表生成式:List generation 从字面上,我们可以理解为,列表生成式是通过某种公式来产生一个列表list,当然我们也可以通过简单的初始化来构造我们的list,但是如果我们想要得到的list比较复杂怎么办?这时候我们就要用到列表生成式了;由于基础部分,前面讲的太过详细,本篇讲的时候,就以整体demo+注释的方式来好好说一下,这个列表生成式是怎么样玩的,由它构造的list究竟有多简...原创 2017-08-09 13:34:34 · 11659 阅读 · 0 评论 -
Python3学习(8)--迭代,可迭代的和迭代器
开始本篇之前,我们先来了解几个单词 迭代:iteration可迭代的:Iterable 迭代器:iterator从单词我们可以看出来差异,可迭代的一看就是状态词,我们不做多说,下面会再讲,而我们发现迭代和迭代器都是一个名词表示,只不过迭代相比较迭代器更加抽象,这就好比,我们遍历一个字典dict,用到for...in...的操作,我们称之为在 迭代,而这种原创 2017-08-09 08:44:45 · 15696 阅读 · 0 评论 -
Python3学习(3)--基础篇
任何一门编程语言,学起来都是由简单到复杂,再由复杂到深入(精),不是重在参与,而是贵在坚持。简单的部分就是基础部分,涉及数据类型、变量、数学运算(+ - * / )、简单的输入输出I/O操作,条件语句、循环语句等,虽然是基础,理解起来和其他语言差不了多少,语法都是相通的,前提是你至少掌握了一门面向对象的语言。一、数据类型(1)整数 :1,10,20,-12,0(2)浮点数:原创 2017-08-02 08:40:13 · 11867 阅读 · 0 评论 -
Python3学习(13)--排序函数sorted
我们今天来说一说排序函数sorted,前面我们讲过,我们可以使用sort()函数对一个list进行排序(但是我们对tuple就不行了,为什么呢,下面我们会复习到),这里的sort和sorted是不一样的,我们先来看一下,用help帮助函数输出的两个函数的解释:一、list.sort我们前面学函数的时候,学过默认参数,下面我们就用这种方式来演示一下排序的两种方式 reverse Tru...原创 2020-01-28 14:23:58 · 12417 阅读 · 1 评论 -
Python3学习(7)--函数【Function】
函数的目的是为了将一些复杂、繁琐、重复性极高的代码封装成一个方法,供使用者调用,使用者只关心函数本身,比如函数返回类型是什么,函数参数的个数以及参数类型和参数顺序是什么,而不关心函数内部的功能是怎么实现的(除了自己写的方法,自己使用,这种的话,使用者本身也是构造者),和大多数高级语言一样,Python也支持函数,不仅能很灵活的定义函数,而且还有着很多的内置函数,这些函数都非常有用,可...原创 2017-08-08 12:06:40 · 12500 阅读 · 2 评论 -
Python3学习(2)-开山篇Hello World
一、Pyhon是什么? 一种面向对象、直译式计算机程序设计语言二、Pyhon有什么特点? (1) Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。 (1)Python语法简捷而清晰,具有丰富和强大的类库。三、Pyhon能做什么? 数据分析、数据分析、数据分析。以上摘自百度百科以原创 2017-08-01 09:32:02 · 11527 阅读 · 0 评论 -
Python3学习(15)--惰性函数
Python的函数太丰富了,讲起来稍微有点费劲,如果给你一个函数简单使用的话,你大可不必深入去了解这个函数,但是作为一个学习者来说尽管不知道以后这个函数我们还会不会遇到,会不会使用到,我们也要尝试去和它打交道,深入的打交道,尽自己所理解的,去阐述它;上一篇我们简单的配置了wing开发IDE,这篇,我们就结合一下它,来讲一下我们今天的主角,惰性函数,又称返回函数;函数,我们知道它可以原创 2017-08-17 15:54:51 · 12591 阅读 · 1 评论 -
Python3学习(16)--匿名函数lambda
我们前面讲高阶函数的时候,已经很多次的提到了lambda,它是一个表达式,也是Python中的匿名函数,我们知道,lambda可以当做函数来使用,返回值就是lambda表达式的结果,lambda也可以当做函数的返回值,比如我们讲到的素数求解,其中有个函数就是这样写的:我们使用lambda表达式的目的不是为了能替代函数,而是尽可能的替代一些简单的函数,注意是简单的。插播一个修改Wing自原创 2017-08-18 09:41:26 · 12937 阅读 · 0 评论 -
Python3学习(5)--集合dict和set
接着上一篇,今天仍然讲Python的集合,上一篇,我们认识了列表list和元组tuple,对比今天将的dict和set,你会发现,之所以分开成对来讲,是因为,list和tuple中的元素是可以重复出现的,而dict和set中的"元素"是不会出现重复的,就算你给它们初始化的时候故意放几个重复的值,但是正式使用它们的时候,dict和set会自动过滤掉这些重复的"元素",这里的元素之所以打引号...原创 2017-08-04 08:41:58 · 11816 阅读 · 0 评论 -
Python3学习(24)--内置装饰器@property
@property前面我们学过装饰器,我们知道,装饰器的作用就是用来扩展函数的,当然前面我们介绍的装饰器,都是我们自己定义的,格式如下:@decoretordef func(*args,**others) passfunc(.....) #使用装饰过的函数而我们今天讲的这个装饰器@property,属原创 2017-09-05 12:40:51 · 17617 阅读 · 3 评论 -
Python3学习(23)--__slots__ 限制实例属性的绑定
__slots__ 限制实例属性的绑定 我们上一篇学了,实例可以随意绑定属性变量甚至方法,当然类也可以随意绑定属性变量和方法,但是,实例绑定的属性和方法,只能针对当前实例适用,其他类的实例无法进行访问: 如果想要其他实例访问到我们绑定的属性或者方法,根据上一篇讲的,我们通过给类绑定就好了,这样,其他实例均可以访问的到: #!/usr/bi...原创 2017-09-04 14:14:09 · 11696 阅读 · 2 评论 -
Python3学习(22)--类的属性和实例的属性
类的属性和实例的属性由于 Python 是动态语言,根据类创建的实例,可以任意绑定属性。给实例绑定属性的方法可以通过实例变量,或者通过 self 变量来实现的,比如下面我们创建一个Student类:attr.py:#!/usr/bin/env Python3# -*- encoding:UTF-8 -*-class Student(object):原创 2017-09-04 12:42:55 · 12066 阅读 · 0 评论 -
Python3学习(12)--高阶函数 (二)
上一篇我们讲了Python内置的两个高阶函数map和reduce,本篇我们继续讲高阶函数,一个拥有过滤效果的函数,filter讲之前我们思考一个问题,上篇我们提到了,map和生成式很相似,map能做的,生成式也可以,那么反过来呢? 下面,我们看一个例子:有一个1--10的整数列表list(range(1,11)),我们想要留下偶数部分的元素,去除奇数部分,我们怎么做?A、用生成原创 2017-08-15 09:08:15 · 12488 阅读 · 3 评论 -
Python3学习(6)--切片【Slice】
一、切片 通过前面我们所学的,我们知道,对于list和tuple这两种有序的集合,我们是可以通过下标(索引)来对元素进行访问的,比如: 对于dict来说,我们可以通过get(key)的方式获得对应的value值,比如: 但对于set来说,因为它不是键值对,也不是有序的,所以既无法通过key访问value值,也无法通过索引访问元素值,但是我们...原创 2017-08-07 11:00:05 · 14337 阅读 · 4 评论 -
Python3学习(11)--高阶函数
高阶函数:Higher-order function,把函数名作为参数传入,然后函数在函数里再次使用,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。 在Python中,我们可以用一个变量来表示一个函数名,从而用这个变量去代替该函数执行其操作,比如: 这种表示法,其实是指向性的,内置的函数abs,在Python环境启动时,充其量也就是个变量,只...原创 2017-08-13 17:18:52 · 11696 阅读 · 2 评论 -
Python3学习(17)--装饰器decorator
我们知道,在Python中,函数可以当做参数来使,也可以当做函数的返回值,还可以赋给一个变量,利用变量我们也可以实现函数的功能:还可以作为序列的元素:这样一来,我们函数本身也是个对象,针对函数对象,Python为我们提供了其对应的属性,这里我们学习两个属性:__name____doc__下面,我们直接看下例子demo,根据demo进行注释讲解(这种方法还是比较高原创 2017-08-19 15:24:10 · 13176 阅读 · 0 评论 -
Python3学习(10)--列表生成器(List generator)
上一篇我们讲到了,列表生成式,花里胡哨的,但是很实用,我们在回顾一下一个简单生成式的构造:这里我们构造一个x*x的list,元素10个: 如下: 我们可以清楚的看到我们想要的结果,这种L就是利用列表生成式产生的list对象 本篇讲到的,生成器(generator)区别于生成式(generation)但二者之间又是有亲密联系的,从字面上理解,生成器...原创 2017-08-11 09:42:23 · 16104 阅读 · 5 评论