关于Python语法、正则表达式的学习

原创 2016年06月01日 15:54:24

一、Python基础语法

import 文件名   导入文件
from tutorial.items.item import ShopItem   调用tutorial.items.item文件 的ShopItem类

类的创建
class 类名 (继承类):  基础object
for namekey, namevalue in dic.iteritems():  遍历字典发
for dec in description:                     遍历数组
if a>10 or a<0:   或
if a>0 and b>0:   与

类型转化  eg:  str(1)  int('1')   
字符串拼接 eg:  str1 = 'aaa' 
              str2 = 'bbb'
              str3 = str1+str2+'ccc'

类的初始化:
    def __init__(self, 参数1,参数2,........, *args, **kwargs):
        super(类名, self).__init__(*args, **kwargs)
   
    初始化方法:type若没有被赋值,默认为0 
    用函数时,缺省参数的值如果没有传入,则被认为是默认值
    def __init__(self, type='0', url='', *args, **kwargs):
        super(ZapposSpiders_two, self).__init__(*args, **kwargs)

二、正则表达式:
import re

re.search
eg:匹配url字符串 是否包含http://zappos.com/men 
      if re.search(r"^(http://www.zappos.com/men)", url, re.M | re.I):
eg:
response 一块内容:
var colorNames = {
'3':"Black",
'105':"Black Stretch",
'301901':"Black Stretch 1"
};
比如匹配获取colorNames 的内容值
从一个从response中正则匹配 出colorName内容 已var colorName = 开始 到已经;结尾   *若干   若没有*表示只取到var colorName = 后面一个字符
colorNamesString = re.search(r'(?<=var colorNames = ){[^;]*', response.body)
若匹配到colorNameString,colorNameString是一个对象。
用colorNameString = colorNameString.group()   colorNameString变成JSON

strinfo = re.compile("'")
# 单引号 替换 双引号
styleIdsString = strinfo.sub('"', styleIdsString.group())
结果:{"3":"Black","105":"Black Stretch","301901":"Black Stretch 1"} 

eg:
phone = '2004-959-559'
num = re.sub(r'\D', "", phone)
num结果为:2004959559

表示:从response中匹配
eg:匹配字符串为
pImgs[3632062]['2x']['2'] = 'http://www.zappos.com/images/z/3/6/3/2/0/6/3632062-2-2x.jpg';
pImgs[3632062]['4x']['2'] = { filename: 'http://www.zappos.com/images/z/3/6/3/2/0/6/3632062-2-4x.jpg', width: '1920', height: '2240' };
pImgs[3632062]['MULTIVIEW_THUMBNAILS']['3'] = 'http://www.zappos.com/images/z/3/6/3/2/0/6/3632062-3-MULTIVIEW_THUMBNAILS.jpg';
pImgs[3632062]['MULTIVIEW']['3'] = 'http://www.zappos.com/images/z/3/6/3/2/0/6/3632062-3-MULTIVIEW.jpg';

[ ] ' 为特殊字符 匹配需要前面加\
\d+ \d表示匹配数字 +表示若干个 .*表示后面若干个 g表示已经g结尾 包括g \D表示非数字
比如要匹配出 第1.第2条数据
imageList = re.findall(r'pImgs\[\d+\]\[\'\d.*g',respinse.body)
若匹配出 第3.第4条数据
imageList = re.findall(r'pImgs\[\d+\]\[\'\D.*g',respinse.body)

结果:
pImgs[3632062]['MULTIVIEW_THUMBNAILS']['3'] = 'http://www.zappos.com/images/z/3/6/3/2/0/6/3632062-3-MULTIVIEW_THUMBNAILS.jpg
pImgs[3632062]['MULTIVIEW']['3'] = 'http://www.zappos.com/images/z/3/6/3/2/0/6/3632062-3-MULTIVIEW.jpg



 









  

版权声明:本文为博主原创文章,未经博主允许不得转载。

学习正则表达式必读的书籍

学一门语言或者一门技术的过程中,如果遇到一本好书,它将原理讲解透彻,必将让你受益匪浅,那么将会在你技术的生涯中深远影响的。相反,你看了各种各样的书,没有一本书给你留下震撼的印象,那么我可以断定,这门技...
  • memoryisking
  • memoryisking
  • 2013年02月18日 11:32
  • 1180

python 学习笔记(一)通过做题来熟悉python 的基本语法

python 学习笔记(一)通过做题来熟悉python 的基本语法
  • u013790563
  • u013790563
  • 2015年06月15日 19:29
  • 998

Python基本语法

1.      四种数值类型:整型,长整型,浮点数,复数 2.      字符串: 单引号,双引号(单双引号等价,无char类型) 三引号(多行) 转义符\(转义,换行) 自然字符串(字符串前加r,...
  • sadfishsc
  • sadfishsc
  • 2014年01月20日 17:59
  • 3869

python与java在语法上的几个不同点

python的基本语法,和java的做个比较:一、数    python只有4种类型的数:整数,长整数,浮点数和java中没有的复数;    java则有char,short,byte,int,lon...
  • yaoyepeng
  • yaoyepeng
  • 2010年10月29日 23:45
  • 4600

正则表达式学习笔记(全)

《正则表达式必知必会》Ben Forta著---学习笔记
  • yuhk231
  • yuhk231
  • 2016年12月09日 20:26
  • 991

python入门: 快速python语法总结

1. list是处理一组有序项目的数据结构: 2. 列表是可变类型的数据 >>> list0=[] >>> type(list0) >>> list0=['clark'...
  • u011538954
  • u011538954
  • 2015年12月13日 20:35
  • 1022

一个在线学习正则表达式的网站

今天发现了一个不错的网站regexr.com,可以在线学习正则表达式。如图,网站左边包含了常用的正则表达式,我们可以随时参考,右边是一些示例文字,英文段落、电话号码、网址、电子邮箱地址等都有。网站上面...
  • u011054333
  • u011054333
  • 2017年04月01日 21:43
  • 1180

python学习的经典书籍

python学习的经典书籍 用Python编写代码一点都不难,事实上它一直被赞誉为最容易学的编程语言。如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Pytho...
  • imail2016
  • imail2016
  • 2016年05月29日 20:24
  • 5049

表单验证中的各类正则表达式

验证:!reg.test(value) 邮箱: [javascript] view plain copy print? reg = /^\w+((-\w+)|(\...
  • zmx729618
  • zmx729618
  • 2016年04月22日 16:38
  • 751

零基础正则表达式学习

正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。 1.正则表达式基本语法 两个特殊的符号'...
  • chenyongkai1
  • chenyongkai1
  • 2016年07月28日 20:28
  • 500
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Python语法、正则表达式的学习
举报原因:
原因补充:

(最多只允许输入30个字)