Python基础学习篇(三)

学习教材采用图灵程序设计丛书《Python编程从入门到实践》

今日的学习包括类及相关操作,文件储存,异常处理。

类:

#
class Abc():#这个()可有可无,类名规定大写以区分
    """一次关于类的简单尝试"""
    def __init__(self,x,y=5):#默认的初始化函数,即创建该类的对象需要带入参数时则会转入这个函数处理,注意前后都是两个下划线!!
        self.x=x#有self.前缀的变量都是该类的属性
        self.y=y
        self.z=0       
    def setX(self,newX):#如果要改变对应属性值好像都需要带self参数
        self.x=newX
    def getX(self):
        return self.x 

#继承
class AAc(Abc):#子类的()里需要有指定的父类的名称,且父类的定义必须在同一个文档内且在子类代码上方
    def __init__(self,x,y,k):
        super().__init__(x,y)#继承的方法
        self.k=k
    def setX(self,count):#重写方法
        self.x=self.x+count
    def getK(self):
        return self.k

abc=Abc(1,2)#创建该类对象的方法
print(abc.x)
abc.x=2#这是第一种改变该类属性的方法
print(abc.x)
abc.setX(3)#这是第二种改变属性值的方法,比较推荐
print(abc.getX())

#子类的测试区
aac=AAc(1,2,3)
print(aac.getK())
print('x of aac is '+str(aac.getX()))
aac.setX(3)
print('x of aac is '+str(aac.getX()))

#导入类和导入函数差不多

文件及数据存储:

#文件
#打开一个文件并且读这个文件
with open('test2.txt')as file_object:#with的作用是当你不使用这个文件时就关闭文件 ‘tese2.txt'是在和这个py文件同目录下的文本文件
    contents=file_object.read()#read()方法读这个文件
    print(contents)
with open('test2.txt','w')as file_object:#写文件,'w'会覆盖原来的内容
    file_object.write('i love programming.\n hhh')
with open('test2.txt','a')as file_object:#写文件,'a'会在原文件内容后面补充追加
    file_object.write('i love programming.\n hhh')
#JSON存储
numbers=[1,2,3,4,5]
# with open('text2.txt','a')as f_o:
#     f_o.write(numbers)#有错误显示,不能存储字符类型之外的内容
import json
filename='num.json'
with open(filename,'w')as f_obj:#将数据写入json文件中
    json.dump(numbers,f_obj)
#     nums=json.load(f_obj)
with open(filename)as f_obj:#将数据从json中读出
    nums=json.load(f_obj)
print(nums)
print(nums[0])#数据内容不会改变

异常处理:

#异常处理
x=input('please input a num')
x=int(x)
try:
    if x>5:
        print('x>5')
    else:
        y=5/x
except ZeroDivisionError:#如果有除数为0的异常,则跳入此句处理异常
    print('x can not be Zero')
else:#如果没有异常则跳到此句处理
    print('y is '+str(y))
print('x is '+str(x))#无论try里有无异常,只要被正确处理了就会执行后面的句子

好了,python的基础学习就到此为止了,接下来再是numpy的学习?总之是以学习pytorch为目的的。学习的这本教材在我看来是一本比较棒的书了,语法类介绍的还是比较细致和全面的,对初学者很友好,后面部分还有实项目,大大提升了对python的掌握,不过后面我不会去读了...

posted @ 2020-08-15 20:12  SixteenTime  阅读(104)  评论(0编辑  收藏  举报