Python基礎語法(3)——文件流、異常處理、面向對象編程以及裝飾器

10 輸入輸出
10.1 輸入輸出方式介紹
     可採用input方式接收控制檯的輸入
str1=input("Please input a string:")
print(str1)
print("{}".format(str1))
10.2 IO文件流
寫文件
# -*- coding=utf-8 -*-
textContext='''\
Created on 2017年2月26日
@author: ZhuangLiang
'''
f=open("text.txt", "w")
f.write(textContext)
f.close()

讀文件
f=open("text.txt")
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!")

try:
    f=open("number.txt")
    s=f.readline()
    num=int(s.strip())
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
jim=Student("liangzhuang",24)
jim.introduce()
jim.updateAge(28)
print(jim.age)


12.2 裝飾器 
     裝飾函數以接收函數名參數,並且返回函數名,調用裝飾函數後得到的函數是經過"裝飾"的函數,示例如下:
def deco(func):
    def inFunc():
        return "inFunc: "+func()
    return inFunc
# @deco
def myfunc():
    return "myfunc called."
myfunc=deco(myfunc)
print(myfunc())
一般爲了程序簡潔,可採用註解的方式裝飾函數,如下:
def deco(func):
    def inFunc():
        return "inFunc: "+func()
    return inFunc
@deco
def myfunc():
    return "myfunc called."
# myfunc=deco(myfunc)
print(myfunc())

發佈了34 篇原創文章 · 獲贊 1 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章