python学习笔记
本专栏主要整理我学习python过程中的一些代码,参考这些代码以及我的理解,很容易学会python语言,目前仍在更新中。
追蜗牛的coder
浓睡不消愁-代码渐瘦,致力于做一个有趣的程序员。爱分享、爱聊天还爱笑;爱python、爱机器学习、还爱各种小游戏。
展开
-
python学习笔记10.4 通过killpg杀死进程组
在实际使用多进程的过程中,希望一个子进程报错,则停止所有进程,并退出主进程。在子进程中不能使用exit()函数,它会使得主进程一直等待,程序就卡在这里了。from multiprocessing import Poolimport timeimport osimport sysimport signalimport subprocessimport platformdef f(i): print(f'running {i}, pid: {os.getgid()}') if原创 2021-09-17 11:00:22 · 12562 阅读 · 0 评论 -
python学习笔记10.1 python中的路径
文章目录1. '.'和os.getcwd()2. 获取文件所在的路径1. '.'和os.getcwd()python中‘.’和os.getcwd()是等价的,是运行python文件的工作目录,而不是被运行的文件所在目录,它是随着工作目录变化的。import osprint('os.cwd: ',os.getcwd())print('".": ',os.path.abspath('.'))print('"./": ', os.path.abspath('./'))在当前目录运行:切换到其他目原创 2021-05-13 22:45:46 · 11479 阅读 · 10 评论 -
python学习笔记10-技巧篇
8.1-python中的路径原创 2021-05-13 22:24:30 · 11037 阅读 · 0 评论 -
python学习笔记7.7-日志记录模块logging
段子里说,使用日志的程序员鄙视使用print记录信息的程序员,所以作为一个合格的程序员,合理的记录日志实数非常必要的。本文主要介绍在python中如何使用logging模块记录日志。1. 如何记录日志我想对于程序员来说,记录日志的重要性不言而喻,各种bug的调试都离不开日志信息的参考,但是如何记录日志以及该记录一些什么信息却不是轻而易举就能掌握的。对于如何使用日志,网络大神已经给出了很好的...原创 2018-09-16 22:49:22 · 25029 阅读 · 1 评论 -
python学习笔记3.5-with的妙用
在Python中,使用io之后需要关闭他们以释放内存,例如读取或者写入文件。凡是调用open()后必须调用close()来关闭,但是这样比较繁琐,Python提供了with关键词来方便用户编写程序并且能够合理的管理内存。使用方法:with doing something: pass或者:with doing something as something: pass实原创 2018-07-15 16:20:26 · 27820 阅读 · 0 评论 -
python学习笔记9.2-文件及文件夹操作
本文主要介绍python对文件以及文件夹的操作,主要涉及到文件的创建、读取、文件内容的修改、删除,文件夹的索引、目录的判断等等。此节内容非常重要,是以后编程的基础。python文件夹和文件的操作主要借助于os和shutil模块,它是python内置模块,不需要安装,直接导入即可使用原创 2017-10-22 22:46:03 · 41165 阅读 · 0 评论 -
python学习笔记9.1-系统交互接口
本文主要主要介绍python语言user与操作系统的交互接口,主要包括直接输入或者系统参数两种输入方式,输出主要就是print函数和format()表达式了,前面已经详细的说过了。原创 2017-10-14 23:16:04 · 41872 阅读 · 0 评论 -
python学习笔记8.1-异常处理
程序员最大的天敌就是bug,所谓bug就是按照特定的输入,却没有得到期望的相应,这个时候程序出了bug。python内置了我们常用到的异常处理机制,比如断言,在编程的过程中,合理的使用这些异常处理机制,能帮我们减少很多调试代码的时间。本文主要介绍一些异常处理机制的使用。原创 2017-05-01 16:28:59 · 75656 阅读 · 0 评论 -
python学习笔记7.6-内建模块itertools
python有一个高级特性就是迭代器,能够提供各种各样的迭代方式,而代码却非常的简单。itertools提供了非常丰富的有关于迭代操作的函数,下面一一介绍。*再次理解可迭代对象:* 迭代器产生的可迭代对象不能直接使用,比如计算,需要用for循环迭代处具体的值后才能使用。原创 2017-04-29 23:16:45 · 49993 阅读 · 0 评论 -
python学习笔记7.5-内建模块struct
Python中变量的类型只有列表、元祖、字典、集合等高级抽象类型,并没有像c中定义了位、字节、整型等底层初级类型。因为Python本来就是高级解释性语言,运行的时候都是经过翻译后再在底层运行。如何打通Python和其他语言之间的类型定义障碍,Python的内建模块struct完全解决了所有问题。原创 2017-04-25 16:00:53 · 51040 阅读 · 0 评论 -
python学习笔记7.4-内建模块base64
有时候,我们用noepad++或者记事本打开图片或者程序等文件的时候会显示大量的乱码,主要原因是这些文件编码的时候并不是字符串编码的。如果我们想把这些文件正常显示为字符,这个时候就可以用到base64,它就是一种编码、解码的规则。原创 2017-03-11 15:25:01 · 50235 阅读 · 0 评论 -
python学习笔记7.3-内建模块collections
Python的内建模块collections为我们提供了一系列的优化操作,本质上就是元组、字典、集合、列表的特殊功能版。原创 2017-02-18 22:12:36 · 50247 阅读 · 0 评论 -
python学习笔记7.2-内建模块datetime
Datetime类是Python内建的一个关于时间的类,包含有两种数据类型,datetime类型和timestamp类型,前者是本地时间类,与自己所在时区有关;在计算机中,时间实际上是用数字表示的。原创 2017-01-13 12:54:52 · 49831 阅读 · 0 评论 -
python学习笔记7.1-内建模块os
Python编程语言优势特点比较突出,已经出现就凭借这些功能优势吸引着开发人员的眼球。在Python这一语言中,有一种标准模块叫做os模块,Python os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。原创 2017-01-12 21:10:17 · 50496 阅读 · 0 评论 -
python学习笔记6.9-通过字符串访问类的方法
我们想调用对象上的某一个方法,这个方法名保存在字符串中,我们想通过这个字符串来调用该方法。原创 2016-12-22 21:29:49 · 48690 阅读 · 0 评论 -
python学习笔记6.8-类的状态机
说起状态机,很多人可能就要不屑一顾了,无非就是switch case语句嘛,或者是if … else if … else 语句嘛,这一类程序员写的状态机只能说实现了功能,而在代码的优越性来看,简直就是不忍直视。对于面向对象的编程语言,例如python,最直观的方式就是利用类来表达状态,从而达到状态机的实现。原创 2016-12-21 09:43:37 · 49120 阅读 · 0 评论 -
python学习笔记6.7-简化数据结构的初始化过程
本文主要介绍在类中简化数据结构初始化过程的技巧原创 2016-12-20 20:47:54 · 48991 阅读 · 0 评论 -
python学习笔记6.6-类的惰性属性
我们想将一个只读属性定义为property属性方法,只有在访问它时才参与计算。同时,一旦访问了该属性,希望把计算出来的值缓存起来,不要每次访问它时都要重新计算。这样就能很大程度上提升程序的性能。定义一个惰性属性最简单的方法就是利用描述符来完成。原创 2016-12-18 21:07:18 · 46049 阅读 · 0 评论 -
python学习笔记6.5-类中描述符的使用
描述符(Descriptor)就是以特殊方法get(), set(), delete()的形式实现了三个核心的属性访问操作(set,get,delete)的类。这些方法接受类实例作为输入来工作。之后,底层的实例字典会根据需要适当的进行调整。 要使用一个描述符,首先要创建一个描述符类,然后把描述符的实例放在类的定义中作为类变量来使用。事例如下:#Descriptor attribute for an原创 2016-12-18 16:17:58 · 46939 阅读 · 0 评论 -
python学习笔记6.4-类的多重继承(super()函数)
说到面向对象,就少不了研究面向对象的特点(继承,封装,多态)。Python中类的继承的关键是正确使用super()函数,而这恰好是我们理解最不好的地方。原创 2016-12-18 14:24:43 · 52631 阅读 · 4 评论 -
python学习笔记6.3-类的属性函数(@property)
属性函数(@property) 在对象中两个很重要的元素就是属性和方法,在调用的时候两者是有区别的。原创 2016-12-18 13:04:51 · 48676 阅读 · 0 评论 -
python学习笔记6.2-类常见的编程模式
上一次写过一篇有关于python类的博客,现在回头去看看,发现好多语法还是比较低级,表达不是很清晰。现在谈一谈对python类的表达的新的理解。 本篇博客的重点是向大家介绍一些与类定义相关的常见的编程模式,主要包括让对象支持常见的python特性、特殊方法的使用,封装、继承,内存管理、以及一些有用的设计模式。原创 2016-12-17 20:46:16 · 47015 阅读 · 0 评论 -
python学习笔记6.1-类的认识
本文主要介绍了类的定义与理解,类的继等一些特性。原创 2016-12-15 16:40:12 · 46320 阅读 · 0 评论 -
python学习笔记5.4-包的发布
有时候我们创建了一个非常好用的包,希望能够分发给好友一起使用,或者开源到网上,这个时候就要会利用python包的发布的工具。原创 2016-12-15 10:14:45 · 46179 阅读 · 0 评论 -
python学习笔记5.3-包的创建
包,也可以称为库,是具有很多功能的一个集合体。本文主要介绍如何自己创建一个包,以及介绍一些在包的创建过程中的技巧。原创 2016-12-11 13:14:19 · 48667 阅读 · 1 评论 -
python学习笔记5.2-包和模块的导入
在理解什么是包以及什么是模块之后,就要学会如何去导入包或者模块了,本文主要介绍如何导入包以及在导入包的过程中需要注意一些什么。导入包的核心是使用关键词import以及搭配其他的一些关键词(from,as)等。因而根据不用的需要会有以下几种导入形式。原创 2016-12-10 13:33:14 · 46924 阅读 · 0 评论 -
python学习笔记4.3-python高级之元素的分解
元素分解是在编程中经常遇到的问题,采用这些方法可以是我们的代码精简,可阅读性强。原创 2016-12-10 09:08:06 · 46931 阅读 · 0 评论 -
python学习笔记5.1-理解模块和包
python 是面向对象的编程语言,那么其包含的所有元素都是对象,包括模块和包。包和模块其实都是功能的集合体,只是包的功能更多,包含了很多模块。也就是说包和模块是包含关系。原创 2016-12-08 14:56:57 · 48688 阅读 · 0 评论 -
python学习笔记4.2-python高级之迭代器
迭代是Python中最强有力的特性之一,同时对编程人员来说,也是最难理解的一种用法。其实从高层次来看,迭代就是一种处理序列中元素的方式。通过自定义迭代对象可以定义自己的处理元素的方式,此外还可以从itertools中选择实用的迭代模式、构建特殊的生成函数等。一般来说,可迭代的对象有很多种形式,比如序列,集合等。**从本质上来说,迭代是重复反馈过程的活动,其目的是逼近所需目标和结果,每一次重复称为一次迭代,每一次迭代得到的结果称为下一次迭代的初始值。** **递归是调用自己的一种机制,是调用自己的过程。**原创 2016-12-07 09:50:18 · 49554 阅读 · 0 评论 -
python学习笔记4.1-python高级之生成器
生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器)。如果一个函数包含yield关键字,这个函数就会变为一个生成器。**生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。**由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。原创 2016-11-27 10:15:58 · 47016 阅读 · 0 评论 -
python学习笔记3.4-函数装饰器
软件开发的过程中,最基本的技能就是:不要重复自己的工作。也就是说,在任何时候,当需要创建高度重复的代码时,通常都需要寻找一个更加快捷的解决方案。在python中,这类问题常常会归为“元编程”。简而言之,元编程的主要目标是创建函数和类,并用他们来操纵代码(通常的行为有生成、修改、包装已有的代码)。Python中基于这个目的的方法有装饰器、类装饰器、元类以及有用的主题(常见的有对象签名、用exec()来执行代码以及检查原创 2016-11-26 10:40:24 · 46493 阅读 · 1 评论 -
python学习笔记3.3-高级函数技巧
在使用函数的时候,如果能合理的使用一些技巧,对于代码的阅读性以及程序的结构都是很有帮助的。常用的技巧有递归函数、高阶函数等。本文介绍一些有关函数定义以及使用时候的高级技巧。原创 2016-11-23 10:00:37 · 51773 阅读 · 0 评论 -
Python学习笔记3.2-python内置函数大全
学习python不可避免的首先要了解python的内置函数,熟悉了这些以后可以给编程带来很大的方便。原创 2016-11-22 22:28:09 · 49741 阅读 · 0 评论 -
python学习笔记3.1-函数
在了解了数据结构之后,就需要编写函数了,函数是最常用的封装代码的方式,将具有特殊功能的代码封装成一个函数,不仅可以多次重复调用,减小编程量,同时还能够使我们的代码变得更加简洁。一个开发人员能够恰当的使用函数是衡量他水平的标准之一。本文介绍python语言如何定义、调用函数。原创 2016-11-22 11:05:26 · 45216 阅读 · 0 评论 -
python学习笔记2.6-集合(set)
一般来说,python中常用的数据结构是:列表(list)、字典(Dict)、元组(tuple)。但是我们常常还会看到另外一种结构:集合(set)。个人认为,字典(dict)就是一种特殊的集合(set),它特殊的地方是集合的元素之间有一对一的对应关系。集合,在定义上来说就是无序不重复的元素集,set里面可以是多种数据类型(但不能是列表,集合,字典,可以是元组)。原创 2016-11-12 11:39:10 · 45376 阅读 · 0 评论 -
python学习笔记2.5-数据结构之字典
Python中的字典是python的一种数据结构,它的本质是key和value以及其对应关系的一种集合,一个key可以对应一个多个value。合理的使用字典能给我们编程带来很大的方便。本文详细介绍了python中字典的使用方法。原创 2016-11-03 15:12:38 · 45257 阅读 · 0 评论 -
python学习笔记2.4-数据结构之列表和元组
python语言中包含的数据结构比较简单,除了简单的变量以外,还有列表(元组)、字典、集合。对于数据结构的操作一般包含四种:增、删、查、改。本文主要介绍列表(list)(包括元组tuple)的操作。python中的list是一个有序动态集合,能够随时向其中添加或者删除元素,而tuple则相反,是一个有序静态集合,即一旦创建就不能随修改。原创 2016-11-03 14:47:58 · 48255 阅读 · 2 评论 -
python学习笔记2.3- 循环、判断
本文介绍python中if...else..条件判断以及while...循环和for...的语法格式和使用方式,属于python入门基础。原创 2016-10-31 09:18:32 · 45148 阅读 · 2 评论 -
python学习笔记2.2-print函数以及格式化输出
本文介绍print函数和format格式化输出如何使用的相关内容。原创 2016-10-28 13:39:08 · 49850 阅读 · 0 评论 -
实用的Python库(会一直持续更新。。。)
1 Delorean: Time Travel Made EasyDelorean 是一个非常小的日期库,但是功能比较强大,有非常详细的说明文档,http://delorean.readthedocs.io/en/latest/ 例如:原创 2016-10-27 16:03:37 · 44697 阅读 · 0 评论