Python学习(3)

来源:互联网 发布:以下属于云计算的特征 编辑:程序博客网 时间:2024/04/28 17:14

7017.7.31-2017.8.6(31周)

学习《Python编程从入门到实践》

第9-11章笔记类,文件和异常及其他的内容,第11章的unittest写的并不详细,所以没记笔记只把标题写上了

由于笔记是Google Dokumen写的所以粘贴过来有些格式不正确,所以放到百度云盘上一份 http://pan.baidu.com/s/1miShofQ

第九章 类

1.创建和使用类

类的命名规则:类中每个单词的首字母都大写而不使用下划线

1)创建Dog类

1.根据约定在Python中首字母大写的名称指的是类,我们定义了一个名为Dog的类

2.方法_init_():

类中的函数称为方法,_init_()中包含3个形参,self形参是必不可少的

2)根据类创建实例

(1)创建一个实例且访问属性

问题2:

运行上述程序时一直报类型错误

错误原因:class中__init__方法init两边各有两个_下划线,我只一边写了一个

解决方法:将_init_改为__init__

(2)调用方法

2.使用类和实例

1)给属性指定默认值

2)修改属性的值

(1)直接修改属性的值

(2)通过方法修改属性的值

3.继承

1)子类的方法__init__()

2)给子类定义属性和方法(加参数self)

3)重写父类的方法(不需要参数self)

4)将实例用作属性

类的属性和方法越来越多时,可将类的一部分作为单独的类提取出来,将提取出来

的类作为一个属性在原来的类中使用

4.导入类

1)导入单个类

from car import Car

2)在一个模块中储存多个类

一个文件中写了多个类

3)从一个模块中导入多个类

from car import Car,ElectricCar

4)导入整个模块

import car

5)导入模块中的所有类

from module_name import *

6)在一个模块中导入另一个模块


第十章 文件和异常

1.从文件中读取数据

1)读取整个文件

注意:

打开文件时一直提示找不到文件 百度了半天跟我的状况都不吻合 最后发现文件名写错了


2)文件路径

注意:

在window中,首先确保文件路径中使用的是‘\’,如结果仍不符合预期,在开头的单引号前加上r,因为在Python中‘\’被视为转义标记


3)逐行读取

4)创建一个包含文件各行内容的列表

5)使用文件的内容

注意:

读取文本文件时,Python将其中的所有文本都解读为字符串,如果读取的是数字,并要将其作为数值使用,则必须使用函数int()将其转换为整数


2.写入文件

1)写入空文件

如果要写入的文件不存在,函数open()将自动创建它

如果指定的文件已经存在,Python将在返回文件对象前清空该文件

2)附加到文件

with open(file_name,'a') as file_object:          #添加到文件末尾 不会清空原有内容

3.异常

1)处理ZeroDivisionError异常

2)使用try-except代码块

3)使用异常避免崩溃

4)else代码块

5)处理FileNotFoundError异常

6)分析文本

7)失败时一声不吭

pass语句可让Python什么都不做

4.存储数据

1)使用json.dump()和json.load()

2)重构

将代码划分为一系列完成具体工作的函数,这样的过程被称为重构


第十一章 测试代码

1.测试函数

1)单元测试和测试用例

2)可通过的测试

3)不能通过的测试

4)测试未通过时怎么办

5)添加新测试

2.测试类

1)各种断言方法

2)一个要测试的类

3)测试AnonymousSurvey类

4)方法setup()


十二 其他

  1. 多行语句用 \ 分隔,在(),{},[]中的多行语句不需使用 \

  2. print()默认输出是换行的,不换行输出需要在变量末尾加上end=”” print( x, end=” ”)

  3. 3. 注释的三种方式   #  ,  ''' ''',""" """


练习 http://www.runoob.com/python3/python3-examples.html

1. 数字求和

1)输出中文#coding=UTF-8

问题3:

使用geany编程输出中文,一直报错

SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xc6 in position 0:invalid start byte

尝试解决方案:1.在首行加上utf-8相关编码,如 #coding=UTF-8,仍然报错

   2.在geany的 编辑>首选项>文件的编码设置了utf-8和简体中文  仍然报错

      (原因:这是解决geany打开文件后显示中文乱码的问题 不是输出中文问题)



报错原因:文件编码使用的是gbk编码(文件>属性中查看)不是utf-8编码

解决方法:将文件转换为utf-8编码(文档>设置文件编码>Unicode>Unicode(UTF-8))

2)input()和print()输入输出的均是字符串,不能是数值型

3)format()的使用

>>> print('{}网址: "{}!"'.format('菜鸟教程', 'www.runoob.com'))
菜鸟教程网址: "www.runoob.com!"

2.平方根

1)import cmath#导入复数数学模块

2)num_sqrt = cmath.sqrt(num)#求平方根

3.二次方程

print('{0}x**2+{1}x+{2}=0 的解为\n{3}和{4}'.format(a,b,c,sol1,sol2))

开始时报错元组的索引不对,后来发现是{}中的数字写错了,要从0开始

4.三角形面积

print("该三角形面积为%0.2f" %area)area为数值型,保留两位小数

5.随机数生成

import random#导入随机数模块

print(random.randint(-6,6))#使用randint()函数生成[-6,6]之间随机数

6.摄氏温度转华氏温度

print('%0.1f 摄氏温度转为华氏温度为 %0.1f' %(celsius,fahrenheit))

7.交换变量

x,y = y,x交换xy的值

8.if 语句

注意格式



原创粉丝点击