python基础学习四

程序分类与拆分

有过c++和java学习的同学,对程序拆分思想应该比较清楚。当我们写的程序较大时,会用到一些自己定义的类或函数,并且会经常使用它,如果每次用的时候都复制一遍会很麻烦。我们会在当前路径下新建一个包,放入经常使用的工具类。当导入当前路径下的类,我们可以直接使用。不必要每次都要编写,提高了编程效率。在python中,思想同样相同。我们新建一个项目时,会生成一个项目文件。我们要建自己的工具类或常用函数,可以点击项目右键,new-Python-Package,输入这个文件夹的名字,常用工具包就建好了。在新建这个包中,有一个默认文件__init__py,通常它是空的,作用是告诉python我们要使用这个这个文件中的代码,如果没有这个文件,python就要忽略这个文件。

-myproject#当前文件夹
-main.py
-classes#新建的工具类
-Student.py
-Score.py
程序如下:

主程序main()可以调用classes包中的Student类,Score类
#coding:utf-8
import sys
from classes import Student
from classes import Score
def main():
    st=Student.Student(name='liu',age=23,address='zhengzhou')
    sc=Score.Score(stu=st,math=98,english=88,computer=100)
    print sc
if __name__=='__main__':
    main()
classes包中Student类:
#coding:utf-8
class Student(object):
    def __init__(self,name='',age=0,address=''):
        if not name:
            name=raw_input('please input name')
        if not address:
            address=raw_input('please input address')
        self.name=name
        self.address=address
        self.age=age
    def __str__(self):
        return "name:{},age:{},address:{}".format(self.name,self.age,self.address)
Score类:
#coding:utf-8
from classes import Student
class Score(object):
    def __init__(self, stu,math=0, english=0, computer=0):
        self.name=stu
        self.math=math;
        self.english=english
        self.computer=computer
    def __str__(self):
        return 'Information:{},math:{},english:{},computer:{}'.format(self.name,self.math,self.english,self.computer)
控制台输出:
Information:name:liu,age:23,address:zhengzhou,math:98,english:88,computer:100
文件的读写

当在python中打开一个文件,就创建一个流(stream)。当打开一个文件时,用完之后要用close()函数及时关闭,因为打开文件会占用系统资源。
读取文件:

  • 列表内容
  • f=open(‘aa.txt’)打开一个.txt文件
  • f.readlines()读取aa.txt整个文件
  • r.readline()逐行aa.txt读取文件
    写入文件:
  • f=open(‘aa.txt’,’w’)若文件夹存在,则打开文件aa.txt,若文件夹不存在,则系统会报错。先创建一个文件。以w方式打开,将会先清除这个文件的所有内容。
  • f=open(‘aa.txt’,’w+’)若文件夹存在,则打开文件aa.txt,若文件夹不存在,先创建一个文件。以w+方式打开,将会先清除这个文件的所有内容.

  • f=open(‘aa.txt’,’a’)若文件夹存在,则打开文件aa.txt,若文件夹不存在,先创建一个文件。以a方式打开,若文件有内容不会清楚内容。

  • f.write(”)将会向文件写入内容(从文件开始位置)
  • f.writelines()接受一个列表,并将列表写入这个文件中.
#coding:utf-8
f=open('test.txt')#读文件
lines=f.readline()#逐行读取
print lines
f.close()
f=open('test.txt')#读文件
line=f.readlines()#.readlines() 自动将文件内容分析成一个行的列表
a=len(line)
for i in range(a):
    print line[i]
f.close()
f=open('bb.txt','w+')
f.write('浔阳江头夜送客,枫叶荻花秋瑟瑟。\n')#python不回自动转行,要插入转义符转行
f.write('主人下马客在船,举酒欲饮无管弦。\n')
f.write('醉不成欢惨将别,别时茫茫江浸月。\n')
f.writelines(['千呼万唤始出来,犹抱琵琶半遮面。\n','转轴拨弦三两声,未成曲调先有情。\n','弦弦掩抑声声思,似诉平生不得志。\n'])
f.close()
f=open('bb.txt')#读文件
li=f.readlines()#.readlines() 自动将文件内容分析成一个行的列表
b=len(li)
for i in range(b):
    print li[i]
f.close()
控制台输出:
人生若只如初见,何事秋风悲画扇。

人生若只如初见,何事秋风悲画扇。

等闲变却故人心,却道故人心易变。

骊山语罢清宵半,泪雨零铃终不怨。

何如薄幸锦衣郎,比翼连枝当日愿。

浔阳江头夜送客,枫叶荻花秋瑟瑟。

主人下马客在船,举酒欲饮无管弦。

醉不成欢惨将别,别时茫茫江浸月。

千呼万唤始出来,犹抱琵琶半遮面。

转轴拨弦三两声,未成曲调先有情。

弦弦掩抑声声思,似诉平生不得志。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值