您的位置:首页 > 编程语言 > Python开发

Python基础语法(3)——文件流、异常处理、面向对象编程以及装饰器

2017-03-04 15:40 741 查看
10 输入输出
10.1 输入输出方式介绍
     可采用input方式接收控制台的输入

str1=input("Please
input a string:")

[align=left]print(str1)[/align]

print("{}".format(str1))
10.2 IO文件流
写文件

# -*- coding=utf-8 -*-

[align=left]textContext='''\[/align]
[align=left]Created on 2017年2月26日[/align]
@author:
ZhuangLiang
[align=left]'''[/align]
f=open("text.txt",
"w")
[align=left]f.write(textContext)[/align]

f.close()

读文件
[align=left]f=open("text.txt")[/align]
while
True:
   
str=f.readline()
   
if
len(str)==0:
       
break

   
print(str)

11 异常处理
11.1 错误与异常处理
     1 语法错误(Syntax Errors)
     2 异常(Exceptions)
while
True:
   
try:
        int(input("Enter
an number:"))
       
break
   
except
ValueError:

       
print("you
input the invalid number!")

[align=left]try:[/align]
[align=left]    f=open("number.txt")[/align]
[align=left]    s=f.readline()[/align]
[align=left]    num=int(s.strip())[/align]
except
OSError
as
err:
   
print("OSError:",err)
except
ValueError:

   
print("can
not convert into integer")

12 面向对象编程(Objected-Oriented)及装饰器(decorator)
12.1 面向对象编程

class
Student:
   
def
__init__(self,name,age):
       
self.name=name
       
self.age=age
   
def
introduce(self):
       
print("I'm
",self.name)
       
print("I'm
"+str(self.age)+"
years old!")
   
def
updateAge(self,newAge):
       
self.age=newAge
[align=left]jim=Student("liangzhuang",24)[/align]
[align=left]jim.introduce()[/align]
[align=left]jim.updateAge(28)[/align]

print(jim.age)

12.2 装饰器 
     装饰函数以接收函数名参数,并且返回函数名,调用装饰函数后得到的函数是经过"装饰"的函数,示例如下:
def
deco(func):
   
def
inFunc():
       
return
"inFunc: "+func()
   
return
inFunc
#
@deco
def
myfunc():
   
return
"myfunc
called."
[align=left]myfunc=deco(myfunc)[/align]

print(myfunc())
一般为了程序简洁,可采用注解的方式装饰函数,如下:
def
deco(func):
   
def
inFunc():
       
return
"inFunc: "+func()
   
return
inFunc
[align=left]@deco[/align]
def
myfunc():
   
return
"myfunc
called."
#
myfunc=deco(myfunc)
[align=left]print(myfunc())[/align]
[align=left]
[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息