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()
十二 其他
多行语句用 \ 分隔,在(),{},[]中的多行语句不需使用 \
print()默认输出是换行的,不换行输出需要在变量末尾加上end=”” print( x, end=” ”)
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 语句
注意格式
- python学习(3)
- Python学习(3)
- python学习(3)
- python学习笔记(3)
- 学习python(3)socket
- python 学习札记(3)
- python学习笔记(3)
- Python学习笔记(3)
- python学习笔记(3)
- Python学习笔记(3)
- python学习手册(3)
- Python学习笔记(3)
- Python学习笔记(3)
- python基础学习(3)
- Python学习总结(3)
- python学习日记(3)
- Python入门学习(3)
- python学习笔记(3)
- 欧拉函数及其拓展(积性函数)
- Realm转载
- 线段树模板(最简便)
- jenkins简介
- 彻底弄懂dalvik字节码【一】
- Python学习(3)
- python做科学计算scipy
- 1410 Intersection
- binwalk在ubuntu中的安装与使用问题
- css3 transition
- MySQL5.6 PERFORMANCE_SCHEMA 说明
- 3300点悬于一线 “金融股"能否带动行情上攻?
- 算法基础之----直接选择排序
- NYOJ 6 喷水装置(一)