获取目录:12345678910111213141516171819202122232425262728293031323334353637383940414243import requestsimport reimport openpyxlurl = 'https://www.ddxs.cc/ddxs/661/'book_html = requests.get(url)book_html.encoding = 'gbk' # 解决乱码问题book_name = re.findall('<h1>(.*?)</h1>', book_html.text)mulu = re.findall('.html">(.*?)</a>', book_html.text)[1:]mulu_num = re.findall('<a href="/ddxs/661/(.*?).html">', book_html.t ...
一、异常对象Python 标准库中 有很多异常类,都是继承自 标准库里面的 Exception 类 1234567a = 100/0print(a)Traceback (most recent call last): File "xxxxxxxxxx.py", line 1, in <module> a = 100/0ZeroDivisionError: division by zero 二、 捕获异常try … except …try ... except ...方法可以用来 捕获 和 处理异常 1234567while True: try: miles = input('请输入英里数:') km = int(miles) * 1.609344 print(f'等于{km}公里') except ValueError: print('你输入了非数字字符') try :缩进的3行代码可以看做 保护 ...
一、 类Python中 一切对象都有各自的类。 Python 中,除了内置的类之外,我们也可以自定义类。 使用 class 关键字 定义一个类。 1234567class BenzCar: brand = '奔驰' # 品牌属性 country = '德国' # 产地属性 @staticmethod def pressHorn(): print('嘟嘟~~~~~~') 类 和 变量 的 命名规则一样,类名的 首字母大写 。 brand 和 country 都是这个类的 属性 ,也叫 类属性 类属性 的调用: 1print(BenzCar.brand) pressHorn 是类的方法 ,也叫 类方法 @staticmethod 则表示 该方法是这个类的 静态方法 静态方法 的调用: 1BenzCar.pressHorn() 二、 实例1. 类和实例的关系某种对象的类型 称为 类 ,他描述了这个类型的实例的 公共特征。 具体 的对象 称为 实 ...
模块与包1. 模块(Module)1.1 概念在 Python 中,一个代码文件(也就是一个 .py 文件)就叫做 模块 。a.py 文件,称之为 模块 a 1.2 模块间的调用1.2.1import关键字123# 通过 import 关键字 导入模块 saveimport save 1.2.2 from...import...关键字通过 from import 关键字导入其他模块里面的标识符(包括变量名和函数名) 123456789101112131415161718# 从 save 模块 导入标识符 savetofile ,# 导入后 savetofile 就成为模块aa中的一个变量,对应一个函数对象from save import savetofilefee = input('请输入午餐费用:')members = input('请输入聚餐人姓名,以英文逗号,分隔:')# 将人员放入一个列表memberlist = members.split(',')# 得到人数headcount = len(memberlist)# ...
字典与集合1. 字典1.1 字典的定义定义空字典: 1members = {} 字典对象定义用 花括号{} ,字典里的每个元素之间用 逗号 , 隔开; 每个元素都是一个 键值对 ,键和值之间用 冒号 : 隔开; 1234members = { 'account1' : 13 , 'account2' : 12} 字典的 键 必须是可以进行 哈希值计算 的对象,通常是 数字 或者 字符串 ; 字典的 值 可以是 任何类型 的对象, 包括 数字、 字符串、 列表、字典、自定义类型 等等。 1234members = { 'account1' : {'account':'account1', 'level': 13, 'point':3000} , 'account2' : {'acc ...
文本文件的打开分为两种模式:文本模式 、二进制模式 通常,对 文本文件 都是以 文本模式 打开。程序读取 和 写入 的都是 字符串 对象。 一、 open 函数1. open 函数的参数 open 函数的参数: 123456789open( file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, ) 参数 file 指定需要打开文件的 路径 可以是 相对路径 也可以是 绝对路径 参数 mode 指定文件打开的 模式 r :只读文本模式打开,默认模式 w :只写文本模式打开 a : 追加文本模式打开 默认值为 r 参数 encoding 指定读写文本文件时,使用的 字符编解码 方式 未指定参数值时,会使用系统缺省字符编码方式(中文windows系统上使用的是 cp936,也就是 GPK编码 2. 文件读写模式 模式 可做操作 文件不存在时 光标位置 是否覆盖 ...
面向对象1. 面向对象面向对象都有两个基本概念, 分别是 类 和 对象。 面向对象的三大特征: 继承: 即一个派生类(derived class)继承基类(base class)的字段和方法。 继承允许把一个派生类的对象作为一个基类对象对待。 一个 Dog 类型的对象派生自 Animal 类 多态: 指对不同类型的变量进行相同的操作,它会根据对象(或类)类型的不同而表现出不同的行为 封装: 将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体(即类) 封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。 2. 类的定义和调用2.1 类的定义语法格式: 12class 类名(): ... 12345class ClassA(): var1 = 100 # 类变量 def fun1(): # 类方法 print("hello fun1") 2.2 调用类属性和类方法 类中的变量叫属性 —-> 调用格式: 类名.属性名 类中的函数叫方法 —-> 调用格式: ...
函数1. 函数1.1 自定义函数def 关键字 表示定义一个函数。1234# 定义函数def 函数名(参数1,参数2,...,参数 n): 函数体 return 函数体中的返回值 当需要调用定义的函数时,使用 函数名() 来调用。(先定义,后调用) return [表达式] 结束函数,选择性地返回一个值给调用方。 不带表达式的 return 相当于返回 None。 123456def sum(num1,num2): "两数之和" return num1+num2# 调用函数print(sum(5,6)) # 11 1.2 函数的返回值 函数的返回值 return 语句不是必须的,但是如果没有 return,函数的返回值是 None 函数中可以出现多个 return ,但必须位于不同的分支,否则后面的 return 无效 return 后面的表达式,可以返回任意类型的对象,包括:字符串、数字、列表、元组、字典等。 函数返回值一次返回多个时, 返回的数据类型是元组, 函数要返回结果,就必须要使用 return 关键字,后面加上返回的结果对象 ...