Python通关之路
文章平均质量分 82
沈子恒
计算机视觉 自然语言处理 推荐系统 架构设计
展开
-
Python1:if / while / for...in / break /continue
1.使用if语句#if.pynumber = 23;guess = int(raw_input('Enter an integer:'));if guess == number: print 'congratulations, u guessed it'; print 'but u dont win any prize';elif guess < number:原创 2017-08-09 12:47:15 · 1120 阅读 · 0 评论 -
Python文件&IO处理技巧: 读写、重定向、间隔符、路径、存在性与文件列表
1. 文本数据的读写open() & write() : rt模式的刷新模式当我们需要读写各种不同编码的文本数据(如ASCII,UTF-8或UTF-16编码等), 可以直接使用带rt模式的open()内置函数。如果需要将文本内容写入到一个文件中,就要使用带有 wt 模式的 write() 函数。如果文件不存在,系统就会新建一个文件;如果先前文件中存在内容,那么也会被强制刷新。#...原创 2018-10-31 11:48:09 · 2800 阅读 · 0 评论 -
python字符串与文本处理技巧(1):分割、首尾匹配、模式搜索、匹配替换
1. 字符串分割将一个字符串分割为多个字段,但是分隔符(还有周围的空格)并不是固定的。str.split() 和 re.split()string 对象的 split() 方法只适应于非常简单的字符串分割情形, 它不允许有多个分隔符或者是分隔符周围不确定的空格。 当需要更加灵活的切割字符串的时候,应该使用 re.split()方法:import reline = 'asdf f...原创 2018-10-24 11:33:21 · 9210 阅读 · 0 评论 -
python迭代器&生成器使用技巧(1):遍历、代理、生成器创建迭代、反向迭代
1. 手动遍历迭代器 next()遍历一个可迭代对象中的所有元素,但是却不想使用for循环。为了手动的遍历可迭代对象,使用 next() 函数并在代码中捕获 StopIteration 异常。 通常来讲, StopIteration 用来指示迭代的结尾。 然而,如果手动使用 next() 函数的话,还可以通过返回一个指定值来标记结尾,比如 None 。读取一个文件的所有行实例。def m...原创 2018-10-30 00:50:35 · 3621 阅读 · 0 评论 -
python迭代器&生成器使用技巧(2):切片、遍历、索引值、多序列、多容器对象
1. 迭代器切片迭代器和生成器不能使用标准的切片操作,因为它们的长度事先并不知道(并且也没有实现索引)。 函数 islice() 返回一个可以生成指定元素的迭代器,通过遍历并丢弃直到切片开始索引位置的所有元素,然后开始一个个的返回元素,并直到切片结束索引位置。import itertoolsdef count(n): while True: yield n ...原创 2018-10-30 11:02:27 · 3726 阅读 · 0 评论 -
python字符串与文本处理技巧(3):字符剔除、字符对齐、字符拼接、字符插入变量
1. 删除字符串中不需要的字符去掉文本字符串开头,结尾或者中间不想要的字符,比如空白。strip() & Istrip() & rstrip()strip() 方法能用于删除开始或结尾的字符。 lstrip() 和 rstrip() 分别从左和从右执行删除操作。 默认情况下,这些方法会去除空白字符,也可以指定其他字符。s = ' hello world \n'pr...原创 2018-10-27 16:13:41 · 1428 阅读 · 0 评论 -
python字符串与文本处理技巧(4): 格式化输出、令牌解析、串上串
1. 以指定列宽格式化字符串很多情况下,我们有一些长字符串,想以指定的列宽将它们重新格式化。textwarp()import textwrapimport oss = "Look into my eyes, look into my eyes, \the eyes, the eyes, the eyes, not around the eyes, don't look \ar...原创 2018-10-27 18:15:40 · 1174 阅读 · 0 评论 -
Python类与对象技巧(1):字符串格式化、封装属性名、可管理的属性、调用父类方法
1. 自定义字符串的格式化_formats = { 'ymd' : '{d.year}-{d.month}-{d.day}', 'mdy' : '{d.month}/{d.day}/{d.year}', 'dmy' : '{d.day}/{d.month}/{d.year}' } class Date: def __init__(self, ...原创 2018-11-05 00:29:37 · 1859 阅读 · 2 评论 -
Python类与对象技巧(2):拓展子类属性
更多的时候,我们需要拓展父类中property的功能。class Person: def __init__(self, name): self.name = name # Getter funtion @property def name(self): return self._name # ...原创 2018-11-12 00:11:28 · 2171 阅读 · 0 评论 -
python数字处理技巧(2): Numpy、矩阵运算、随机、字符串日期
1. 大型数组运算 numpy需要在大数据集(比如数组或网格)上面执行计算。涉及到数组的重量级运算操作,可以使用 NumPy 库。 NumPy 的一个主要特征是给Python提供一个数组对象,相比标准的Python列表更适合做数学运算。 下面展示了标准列表对象和 NumPy 数组对象之间的差别:import numpy as npx = [1,2,3,4]y = [5,6,7,8]...原创 2018-10-29 11:03:21 · 2097 阅读 · 0 评论 -
python数字处理技巧(1): 精度舍入、精确运算、格式化、进制数、大数打包解包、复数、NaN、分数
1. 数字的四舍五入当我们需要对整数 或者 浮点数进行四舍五入的时候。round(value, ndigits) /// 内置函数对浮点数进行四舍五入(传入的ndigit应该是正值,作用于十分位、百分位...):print( round(1.23, 1) ) # 1.2print( round(1.27, 1) ) # 1.3print( round(-1.2...原创 2018-10-28 11:43:21 · 4710 阅读 · 0 评论 -
python字符串与文本处理技巧(2):大小写敏感搜索、最短匹配、多行匹配、Unicode标准化
1. 字符串忽略大小写的搜索替换re.findall(patter, string, flags=re.IGNORECASE)当我们需要忽略字符串中的字母大小写进行模式搜索时可以采用如下方案:import retext = 'UPPER PYTHON, lower python, Mix Python'target1 = re.findall('python', text, fla...原创 2018-10-25 11:33:46 · 3090 阅读 · 0 评论 -
python2:function
1.introduction函数是重用的程序段。允许给一块语句起一个名称,然后可以在程序的任何地方使用这个名称,任意多次地运行这个语句块。这被称为函数调用。在Python1中我们已经用过内建函数,比如len和range。函数通过def关键字定义。def关键字后跟一个函数的标识符名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。下例:#原创 2017-08-09 17:02:18 · 949 阅读 · 0 评论 -
python3:module
1.Introduction前面已经学习了如何在的序中定义函数而重用代码。如果想要在其他程序中重用很多函数,那么该如何编写程序呢?答案是使用模块。模块就是一个包含所有定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。例如,使用sys模块:#using_sys.pyimport sys;print 'the Command and Line ar原创 2017-08-09 19:52:12 · 1016 阅读 · 0 评论 -
Python4:DataStructure
1.Introduction数据结构基本上就是可以处理一些数据的结构。或者说,它们是用来存储一组相关数据的。在Python中有三种内建的数据结构——列表、元组和字典。2.列表list是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目。假想有一个购物列表,上面记载着要买的东西,就容易理解列表了。只不过在你的购物表上,可能每样东西都独自占有一行,而在Pyth原创 2017-08-09 21:21:32 · 1175 阅读 · 0 评论 -
Python5:Script
1.Question & AnalysisQ:为所有重要文件穿件备份的程序需要备份的文件和目录有一个列表指定备份应该保存在主备份目录中文件备份成Zip文件Zip存档的日期是当前的日期和时间Windows用户应该使用Info-Zip程序2.version1.0#backup_version1.pyimport osimport time#the fil原创 2017-08-09 22:47:15 · 1019 阅读 · 0 评论 -
Python6:oriented objective programming
1.introduction前面采用操作数据的函数或语句块来设计程序,也就是面向过程编程。把数据和功能结合起来,用对象的包裹起来组织程序,就是面向对象编程。在大多数时候可以使用过程性编程,但是想要编写大型程序时,就得使用面向对象的编程技术。类和对象是面向对象编程的两个主要组建。类可以创建一个新类型,对象是这个类的实例。对象可以使用普通的属于对象的变量存储数据,属于一个对象或原创 2017-08-14 22:19:41 · 1032 阅读 · 0 评论 -
Python7:from module import * 和 import module 的区别
1.import sysdef example1(): print sys.path2.from sys import *def example2(): print path主要的一点区别是使用第二种方式,不再需要在path前重复键入sys了。原创 2017-08-29 11:22:40 · 1140 阅读 · 0 评论 -
Python8:logging Module
1.打印到屏幕import logginglogging.debug('This is debug message')logging.info('This is info message')logging.warning('This is warning message')屏幕上打印:WARNING:root:This is warning message默认情况原创 2017-08-29 11:34:51 · 1077 阅读 · 0 评论 -
Python yield 使用浅析
带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? 以生成斐波那契數列为例。1. 低级写法def fab(max): n, a, b = 0, 0, 1 while n < max: print(b) a, b = b, a+b n = n+1fab(5)...原创 2018-10-23 00:17:19 · 1133 阅读 · 2 评论 -
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意
python 的语法定义和C++、matlab、java 还是很有区别的。1. 括号与函数调用def devided_3(x): return x/3. print(a) #不带括号调用的结果:<function a at 0x139c756a8>print(a(3)) #带括号调用的结果:1不带括号时,调用的是函数在内存在的首地址; 带括号时,调...原创 2018-11-30 11:56:47 · 1399 阅读 · 1 评论