Python 面向对象、继承部分、正则表达式
2016-11-30 12:31
253 查看
1.初始化实例属性
def __int__(self,name,gender,birth):
self.name = name
self.gender = gender
self.birth = birth
def __int__(self,**kw):
for k,v in kw.iteritems():
setattr(self,k,v)
_ _ xxx 不能被外部直接访问
实例属性每个实例各自拥有,相互独立,而类属性有且只有一份。
当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对于类属性的访问。
2.继承一个类
class Person(object):
def __int__(self,name,gender):
self.name = name
self.gender = gender
class Student(Person):
def __int__(self,name,gender,score):
super(Student,self).__int__(name,gender)
self.score = score 这里不要缩进
3.函数isinstance()可以判断一个变量的类型
isinstance(p,Person)
用type()函数获取变量的类型;
用dir()函数获取变量的所有属性;
getattr(s,'name') #获取name属性
setattr(s,'name','Adam') #设置新的name属性
4.正则表达式
含义:使用单个字符串来描述匹配一系列符合某个句法规则的字符串,可用来处理文本和数据
import re
pa = re.compile(r'imooc') 源字符串匹配,不转义
ma = pa.match(str1)
ma.group()
ma.string 源字符串
或ma = re.match(r'imooc',str1)
正则表达式语法
. 匹配任意字符(除\n)
[...] 匹配字符集
\d \D 匹配数字;非数字
\s \S 匹配空白符;非空白符
\w \W 匹配单词字符;非单词字符
例:ma = re.match(r'\[[\w]\]','[a]')
* 匹配前一个字符0次或者无限次
ma = re.match(r'[A-Z][a-z]*','Aa')
+ 匹配前一个字符1次或者无限次
? 匹配前一个字符0次或者1次
{m} {m,n} 匹配前一个字符m次或者m到n次
*? +? ?? 非贪婪匹配(尽可能少匹配)
^ 匹配字符串开头
$ 匹配字符串结尾
\A \Z 以指定的字符串开头或结尾
| 左右任一个(或)
(ab) 分组
xml匹配
ma = re.match(r'<([\w]+>)[\w]+</\|','<book>py</book>')
str1 = ' imoocnum = 1000'
info = re.search(r'\d+',str1)
python3之后的版本: import urllib.request
python 2.7
import urllib2
req = urllib2.urlopen('http://www.baidu.com')
buf = req.read()
print buf
def __int__(self,name,gender,birth):
self.name = name
self.gender = gender
self.birth = birth
def __int__(self,**kw):
for k,v in kw.iteritems():
setattr(self,k,v)
_ _ xxx 不能被外部直接访问
实例属性每个实例各自拥有,相互独立,而类属性有且只有一份。
当实例属性和类属性重名时,实例属性优先级高,它将屏蔽掉对于类属性的访问。
2.继承一个类
class Person(object):
def __int__(self,name,gender):
self.name = name
self.gender = gender
class Student(Person):
def __int__(self,name,gender,score):
super(Student,self).__int__(name,gender)
self.score = score 这里不要缩进
3.函数isinstance()可以判断一个变量的类型
isinstance(p,Person)
用type()函数获取变量的类型;
用dir()函数获取变量的所有属性;
getattr(s,'name') #获取name属性
setattr(s,'name','Adam') #设置新的name属性
4.正则表达式
含义:使用单个字符串来描述匹配一系列符合某个句法规则的字符串,可用来处理文本和数据
import re
pa = re.compile(r'imooc') 源字符串匹配,不转义
ma = pa.match(str1)
ma.group()
ma.string 源字符串
或ma = re.match(r'imooc',str1)
正则表达式语法
. 匹配任意字符(除\n)
[...] 匹配字符集
\d \D 匹配数字;非数字
\s \S 匹配空白符;非空白符
\w \W 匹配单词字符;非单词字符
例:ma = re.match(r'\[[\w]\]','[a]')
* 匹配前一个字符0次或者无限次
ma = re.match(r'[A-Z][a-z]*','Aa')
+ 匹配前一个字符1次或者无限次
? 匹配前一个字符0次或者1次
{m} {m,n} 匹配前一个字符m次或者m到n次
*? +? ?? 非贪婪匹配(尽可能少匹配)
^ 匹配字符串开头
$ 匹配字符串结尾
\A \Z 以指定的字符串开头或结尾
| 左右任一个(或)
(ab) 分组
xml匹配
ma = re.match(r'<([\w]+>)[\w]+</\|','<book>py</book>')
str1 = ' imoocnum = 1000'
info = re.search(r'\d+',str1)
python3之后的版本: import urllib.request
python 2.7
import urllib2
req = urllib2.urlopen('http://www.baidu.com')
buf = req.read()
print buf
相关文章推荐
- python 面向对象之继承与派生
- 初学Python的学习笔记8----面向对象、数据封装、访问限制、继承和多态
- Python面向对象(一):继承,多态
- Python面向对象——多重继承
- 简明 Python 教程 / 面向对象的编程 / 继承
- python面向对象--封装,继承,多态
- Python面向对象——多重继承大揭秘
- python面向对象_详谈类的继承与方法的重载
- python面向对象的继承
- python面向对象三大特性之继承、多态、封装
- Python3 与 C# 面向对象之~继承与多态
- Python(十三)面向对象 -继承、多态
- python面向对象(三)之继承
- python 面向对象——继承与多态
- python 面向对象 继承
- python---面向对象,class定义、构造函数、析构函数、基本继承
- Python3 面向对象——继承,重写,类属性与方法
- 译:C#面向对象的基本概念 (Basic C# OOP Concept) 第二部分(封装,抽象,继承)
- 初识Python面向对象,父类与子类(继承),例子详解
- Python面向对象——继承 实例