随笔分类 -  Python

Python学习之路(29)——shutil模块:高级文件操作
摘要:shutil模块,High-level file operations。从字面意义上来看,提供了一系列的高级文件操作。特别是针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作。(对单个文件的操作参考os模块) 在类UNIX系统中尤其重要。 一、复制文件内容 shutil.copyfileobj 阅读全文

posted @ 2018-03-12 15:03 nicolas_Z 阅读(185) 评论(0) 推荐(0)

Python学习之路(28)——random模块
摘要:Python中的random模块用于生成随机数。常用函数包括random()、uniform()、randint()、randrange()、shuffle()、choice()、sample()。 1、random.random() 用于生成一个0到1的随机浮点数:0 <= n < 1.0 2、r 阅读全文

posted @ 2018-03-11 17:19 nicolas_Z 阅读(180) 评论(0) 推荐(0)

Python学习之路(27)——时间相关模块time&datetime
摘要:一、time模块 三种格式: 1、timestamp时间戳:基于Unix时间戳,时间表示的范围为1970-2038年之间,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量; 2、struct_time时间元组,有9个元素组:tm_year(年,4位数)、tm_mon(月)、tm 阅读全文

posted @ 2018-03-11 15:40 nicolas_Z 阅读(165) 评论(0) 推荐(0)

Python学习之路(26)——生成器之next和send运行流程
摘要:首先还是看一下斐波那契数列: 函数和生成器仅一步之遥。要把fib函数变成生成器,只需要把print(a)改成yield a就可以了。 生成器和函数的执行流程不一样。函数是顺序执行,遇到return语句或者最后一行函数语句就返回。而生成器,函数在每次调用next()的时候执行,遇到yield语句返回, 阅读全文

posted @ 2018-03-09 15:51 nicolas_Z 阅读(211) 评论(0) 推荐(0)

Python学习之路(25)——数据交换格式与JSON
摘要:、什么是数据交换格式? 就像人类需要通过交流互相合作,计算机网络中的各个计算机之间的相互合作也依赖于彼此的信息交互。人类之间的互相交流可以通过电话、短信、文字等实现,但这些都建立在交流的双方使用共通的语言基础上。而计算机可以以通过TCP等方式传输数据,但我们需要预定义一种为双方计算机所接受的共同“语 阅读全文

posted @ 2018-03-08 11:02 nicolas_Z 阅读(325) 评论(0) 推荐(0)

Python学习之路(24)——字典dict和集合set的key不变性
摘要:今天遇到一个朋友问到一个问题,元组tuple是不可变的,那么元组可以作为字典或者集合的key,那么为什么元组(1, [2, 3])不能作为字典的key呢?如下: 我们先讲讲字典。字典dict是Python唯一的标准mapping(映射)类型,mapping object把一个可哈希的值(hashab 阅读全文

posted @ 2018-03-07 18:07 nicolas_Z 阅读(304) 评论(0) 推荐(0)

Python学习之路(23)——字符编码和字符串
摘要:字符编码 在Python中,字符串也是一种数据类型,而字符串特殊的还有一个字符编码的问题。 由于计算机智能处理数字,如果要处理文本,就必须先将文本转为数字然后处理。早期的计算机在设计时采用8个比特位(bit)作为一个字节(byte),所以一个字节能表示的最大整数是255,如果要表示更大的整数,就必须 阅读全文

posted @ 2018-03-07 11:55 nicolas_Z 阅读(447) 评论(1) 推荐(0)

Python学习之路(22)——静态方法@staticmethod和类成员方法@classmethod
摘要:Python的静态方法和类成员方法都可以被类对象或实例对象访问,但静态方法无需传入任何参数,类成员方法必须传入代表本类的cls参数; 我们先看一个实例方法的例子: 这里我们定义了一个类A,类里有一个实例方法foo(参数为self),然后创建一个实例对象a,并调用方法foo。 如果我们想通过类来调用方 阅读全文

posted @ 2018-03-06 14:45 nicolas_Z 阅读(167) 评论(0) 推荐(0)

Python学习之路(21)——@property
摘要:Python中有一个被称为 属性函数(property)的概念,作用是返回一个property属性,其语法格式如下: fget是获取属性值的函数。 fset是用于设置属性值的功能。 fdel是用于删除属性值的功能。 并且doc为属性创建一个docstring。 典型的用法是定义一个托管属性x。 c是 阅读全文

posted @ 2018-03-06 12:00 nicolas_Z 阅读(128) 评论(0) 推荐(0)

Python学习之路(20)——装饰器
摘要:我们知道,对于Python语言而言,有一个很重要的概念——“一切皆对象”。 数字、字符串、元组、列表、字典等所有内置数据类型,以及函数、方法、类、模块等,在Python中所有的一切都是对象。它们都可以赋值给变量,或者可以作为参数传递给函数。 下面一个例子就是将Python中的函数作为参数传递给另一个 阅读全文

posted @ 2018-03-05 20:58 nicolas_Z 阅读(158) 评论(0) 推荐(0)

Python学习之路(19)——Python的with语句
摘要:with语句时从Python2.5开始引入的一种与异常处理相关的功能(2.5版本需要通过from __future__ import with_statement导入后方能使用),从2.6版本开始缺省可用。 with语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理” 阅读全文

posted @ 2018-03-04 13:10 nicolas_Z 阅读(245) 评论(0) 推荐(0)

Python学习之路(18)——try except else finally语句块有return时的执行顺序探究
摘要:在Python的异常处理中,基本的结构是如下: 思路是: 1)先执行try语句块; 2)如果try语句块发生异常,且与except中的异常相同,则执行except语句块; 3)无论是否有异常,最后执行finally语句块。 但是如果在每个语句块中加入return语句,那么执行顺序是如何的呢? 下面看 阅读全文

posted @ 2018-03-03 20:59 nicolas_Z 阅读(515) 评论(1) 推荐(0)

Python学习之路(17)——私有机制
摘要:在很多教材中,Python在面向对象编程(OOP)中都会介绍到Python的私有方法和私有属性。 以下划线开头的变量/方法: 1)_xxx 以“单下划线”开始的成员变量叫做保护变量,意思是只有类对象(即类实例)和子类读写才能访问这些变量,需要通过类提供的接口进行访问,不能用"from module 阅读全文

posted @ 2018-03-03 20:15 nicolas_Z 阅读(165) 评论(0) 推荐(0)

Python学习之路(16)—— if __name__ == '__main__'
摘要:当我们打开一个.py文件时,经常会在代码的末尾处看到这样一个语句: 那么这句话是什么意思呢? 我们知道,一个.py文件就是一个模块,所有的模块都有一个内置属性__name__。一个模块的__name__的值取决于我们如何使用这个模块。 1)如果我们import导入一个模块,那么这个模块的__name 阅读全文

posted @ 2018-03-01 20:35 nicolas_Z 阅读(142) 评论(0) 推荐(0)

Python学习之路(15)——生成器
摘要:生成器可以说是Python语言中最吸引人的特性之一。 生成器也是一种迭代器,但是只能对其迭代一次。生成器作为一种特殊的迭代器,显得更加优雅,能够在很多情况下以一种优雅而又更低内存消耗的方式简化无界(无限)序列相关的操作。它不需要像迭代器那样,需要使用__ite__()和__next__()方法,只需 阅读全文

posted @ 2018-03-01 20:07 nicolas_Z 阅读(156) 评论(1) 推荐(0)

Python学习之路(14)——迭代器
摘要:在Python中,有以下对象可以通过for语句来直接遍历: 一类是集合数据类型,如list、tuple、dict、set和str等; 一类是generator,包括生成器和带yield的generator function。 这些对象都可以被称为可迭代对象(Iterable)。 迭代器 迭代器对象要 阅读全文

posted @ 2018-03-01 17:11 nicolas_Z 阅读(149) 评论(0) 推荐(0)

Python学习之路(13)——类与对象的内置函数
摘要:这里介绍几个类与对象的内置函数。 1、判断对象关系:issubclass和isinstance issubclass(class, classinfo):如果class是classinfo的子类,则返回True。 注意: 1)一个类可以被认为是自身的子类 2)classinfo可以使类对象组成的元组 阅读全文

posted @ 2018-02-28 16:53 nicolas_Z 阅读(144) 评论(0) 推荐(0)

Python学习之路(12)——绑定方法、未绑定方法以及子类调用父类方法
摘要:Python面向对象编程中有三种重要的概念:继承、重写和多态 这里我们主要讨论一下重写的概念。 先看一个例子,假如存在一个基类Person与子类Student,其中子类重写了父类的构造函数__init__(),运行时会报以下错误: 这是因为尽管Student类继承了Person类,但是并没有调用父类 阅读全文

posted @ 2018-02-28 16:19 nicolas_Z 阅读(527) 评论(0) 推荐(0)

Python学习之路(11)——序列化pickle
摘要:pickle模块实现了一个基本但功能强大的Python对象序列化和反序列化算法。 通过pickle模块的序列化操作,可以将几乎所有的Python对象转换为二进制字节流的形式保存到文件中,永久存储,该过程称之为pickling;而通过pickle的反序列化操作,可以从文件中将二进制的形式转换成对象,创 阅读全文

posted @ 2018-02-28 09:55 nicolas_Z 阅读(261) 评论(0) 推荐(0)

Python学习之路(10)——两种特殊的数据类型:字典(dict)和集合(set)
摘要:Python语言中有两类比较特殊的数据类型,字典dict和集合set。 1、字典和集合都是用大括号表示,先看两个例子: 2、字典的表示形式是键值对(key-value),而集合中的元素是唯一的: 3、字典的构造函数: 字典的构造函数为dict,分别有三种形式:dict()、dict(**args)、 阅读全文

posted @ 2018-02-27 20:49 nicolas_Z 阅读(431) 评论(0) 推荐(0)

导航