python从入门到入坟 五(吕万友)
来源:互联网 发布:oracle启动数据库命令 编辑:程序博客网 时间:2024/06/08 06:15
python文件写入也可以进行网站爬虫, 下面例子 是将http://www.baidu.com的代码写入文件中,然后再读取到出来进行打印。
# /usr/bin/pythonfrom urllib import request# 从百度读取数据存入aaa.txt中response = request.urlopen("http://www.baidu.com/")output = open("C:/Users/lenovo/Desktop/aaa.txt", "w")output.write(str(response.read()))output.close()#从aaa.txt中存入数据打印到命令行read = open("C:/Users/lenovo/Desktop/aaa.txt", "r")for line in read: print(line)
python的File 和OS这边暂时不做处理,相关的异常也在数据解析过程中再慢慢总结。因为目前主要是要做数据解析部分。
众所周知,python是面向对象的语言,因此对象的使用也很关键。这我对对象的基本使用不做说明,默认是了解的。
class MyClass: i = int(123) def __init__(self): self.i=5 def me(self): print("111")x=MyClass()x.me()print(x.i,end="")
self 代表的是类的实例,代表当前对象的地址,而 self.class 则指向类。
类中属性中 加 ‘__’代表的是 私有属性,在外部无法直接访问。
Python 同样支持类的继承,如果一种语言不支持继承,类就没有什么意义。
#!/usr/bin/python3# 类定义class People: # 定义基本属性 name = '' age = 0 # 定义私有属性,私有属性在类外部无法直接进行访问 weight = 0 # 定义构造方法 def __init__(self, n, a, w): self.name = n self.age = a self.weight = w def speak(self): print("%s 说: 我 %d 岁。" % (self.name, self.age))class student(People): __grade = int(0) def __init__(self, n, a, w, g): People.__init__(self, n, a, w) self.__grade = g def speak(self): print("{0:2}说: 我{1:2}岁;{2:2}kg;{3:2d}分;".format(self.name, self.age, self.weight, self.__grade))s = student('ken', 10, 60, 20)s.speak()
值得一提的是,python同时也支持多继承。
需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。
类的私有属性
__private_attrs:两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs。
同样的不难推测出:类的私有方法
__private_method:两个下划线开头,声明该方法为私有方法,只能在类的内部调用 ,不能在类地外部调用。self.__private_methods。
类的专有方法:
- __init__ : 构造函数,在生成对象时调用
- __del__ : 析构函数,释放对象时使用
- __repr__ : 打印,转换
- __setitem__ : 按照索引赋值
- __getitem__: 按照索引获取值
- __len__: 获得长度
- __cmp__: 比较运算
- __call__: 函数调用
- __add__: 加运算
- __sub__: 减运算
- __mul__: 乘运算
- __div__: 除运算
- __mod__: 求余运算
- __pow__: 乘方
文件通配符
glob模块提供了一个函数用于从目录通配符搜索中生成文件列表:
>>> import glob>>> glob.glob('*.py')['primes.py', 'random.py', 'quote.py']
因为数据解析部分 有关于时间的加减,因此这部分强调在日期和时间模块。
日期和时间
datetime模块为日期和时间处理同时提供了简单和复杂的方法。
支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出。
该模块还支持时区处理:
>>> # dates are easily constructed and formatted>>> from datetime import date>>> now = date.today()>>> nowdatetime.date(2003, 12, 2)>>> now.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B.")'12-02-03. 02 Dec 2003 is a Tuesday on the 02 day of December.'>>> # dates support calendar arithmetic>>> birthday = date(1964, 7, 31)>>> age = now - birthday>>> age.days14368
关于python中的时期的处理在后面我还会专门地提出来说一下。
- python从入门到入坟 五(吕万友)
- python从入门到入坟 一(吕万友)
- python从入门到入坟 二(吕万友)
- python从入门到入坟 四(吕万友)
- python从入门到入坟 三(吕万友)
- Python从入门到放弃(五):类细讲
- Python从入门到放弃(五):类细讲
- Python入门(五)
- JavaScript从入门到放弃(五)
- python入门(五):pyc是什么?
- Python爬虫入门五
- python入门(五)
- Python入门<五>
- python基础入门五
- Python入门(五)Python数字、字符串、Unicode字符串
- Python基础入门(五)- python的数据类型
- Python 从入门到放弃(一)
- Python 从入门到放弃(二)
- 判断Windows版本的头文件
- java上传文件到linux上 防止文件名中文乱码
- 图像特征描述子之FREAK
- 回车和换行的区别
- 洛谷_2758 编辑距离
- python从入门到入坟 五(吕万友)
- 修改启动图片和等待时间
- Ubuntu下 正确安装VMware Tools
- 数据结构实验之查找六:顺序查找
- cxz
- LC-Next Greater Element I
- leetcode 680. Valid Palindrome II
- CSDN添加表格神器
- JAVA小项目-银行管理系统(图形化界面)1-菜单